anchor.diff:  
   //pick random pairs of two
   Future<Null> makeBabiesHumanWay() async {
  +    makeBabies(true);
  +}
  +
  +
  +//pick random pairs of two
  +Future<Null> makeBabies(bool humanWay) async {
       for(int i = 0; i< numBabiesInCrop; i++) {
  -        List<Doll> parents = getXParents(2);
  +        int number = 2;
  +        if(!humanWay) {
  +            number = rand.nextIntRange(2, players.length);
  +        }
  +        List<Doll> parents = getXParents(number);
  +        Doll child = Doll.breedDolls(parents);
  +        //i don't have a cherub baby or satyr baby doll maker
  +        if(child is HomestuckTrollDoll) {
  +            child = Doll.convertOneDollToAnother(child, new HomestuckGrubDoll());
  +        }else if(!(child is HomestuckCherubDoll) && !(child is HomestuckSatyrDoll)) {
  +            child = Doll.convertOneDollToAnother(child, new HomestuckBabyDoll());
  +        }
  +        currentCropChildren.add(child);
       }
   }
   
   //pick random subsets between two and all parents
   Future<Null> makeBabiesTrollWay() async {
  -    for(int i = 0; i< numBabiesInCrop; i++) {
  -        List<Doll> parents = getXParents(rand.nextInt(players.length));
  -
  -    }
  +    makeBabies(false);
   }
   
   List<Doll> getXParents(int x) {
  
positive.code:         tmp.add(doll);
          tmp.remove(doll);
      }
  
      return ret;
  }
  
  
  
negative.code: 
      breed.onClick.listen((Event e) {
          makeBabiesHumanWay();
          drawBabies();
      });
  
      breed.onClick.listen((Event e) {
          makeBabiesTrollWay();
          drawBabies();
      });
  
      clear.onClick.listen((Event e) {
  