anchor.diff:  
   //gonna try to do this without raw html manipulation as an exercise
       void createDropDowns() {
  +        //order matters here
  +        classDropDown();
           aspectDropDown();
  -        classDropDown();
           speciesDropDown();
           bloodDropDown();
           moonDropDown();
           interest1DropDown();
           interest2DropDown();
           hairDropDown();
  +        hairColorPickerElement();
           leftHornDropDown();
           rightHornDropDown();
           favNumberDropDown();
       }
   
  +    void hairColorPickerElement() {
  +        hairColorPicker = colorPickerThatRedrawsPlayers(holderElement("Hair Color"), new List<Moon>.from(session.moons), "hairColor");
  +        hairColorPicker.value = "#000000";
  +    }
  +
       void moonDropDown() {
           moonSelect = selectElementThatRedrawsPlayers(holderElement("Moon"), new List<Moon>.from(session.moons), "moon");
       }
  
positive.code: 
      SelectElement selectElementThatRedrawsPlayers<T>(Element div, List<T> list, String name) {
          SelectElement selectElement = genericDropDown(div, list,  name);
          selectElement.onChange.listen((e) => redrawPlayers());
          return selectElement;
      }
  
negative.code:         //will overright random blood color
          p.bloodColor = blood;
          if(blood == "Any") p.bloodColor = rand.pickFrom(bloodColors);
      }
  
      void setHairColor(Player p) {
          p.hairColor= hairColorPicker.value;
      }
  
      void setHair(Player p) {
  