anchor.diff:      GameEntity bigBad;
       //definitely replace this.
       String flavorText = "$BIGBADNAME suddenly appears for probably no reason.";
  -    TriggerCondition(Session this.session);
  +    TriggerCondition(Session this.session, GameEntity bigBad);
  +    String name = "Generic Trigger";
   
       //TODO how to actually set up the triggers? sub classes? where are my notes...
   
       bool triggered();
       void renderForm(Element div);
   
  -    static SelectElement drawSelectTriggerConditions(Element div) {
  -        //TODO call listPossibleTriggers to make the options, select teh first one by default.
  +    TriggerCondition makeNewOfSameType();
  +
  +    static SelectElement drawSelectTriggerConditions(Element div, Session session, BigBad bigBad) {
  +        List<TriggerCondition> conditions = listPossibleTriggers(session, bigBad);
  +        SelectElement select = new SelectElement();
  +        for(TriggerCondition sample in conditions) {
  +            OptionElement o = new OptionElement();
  +            o.value = sample.name;
  +            o.text = sample.name;
  +            select.append(o);
  +        }
  +
  +        ButtonElement button = new ButtonElement();
  +        button.text = "Add Trigger Condition";
  +        button.onClick.listen((e) {
  +            String type = select.options[select.selectedIndex].value;
  +            for(TriggerCondition tc in conditions) {
  +                if(tc.name == type) {
  +                    TriggerCondition newCondition = tc.makeNewOfSameType();
  +                    bigBad.triggerConditions.add(newCondition);
  +                    newCondition.renderForm(div);
  +                }
  +            }
  +        });
  +
  +        div.append(select);
  +        div.append(button);
  +        return select;
       }
   
  -    static List<TriggerCondition> listPossibleTriggers(Session session) {
  +    static List<TriggerCondition> listPossibleTriggers(Session session, GameEntity bigBad) {
           List<TriggerCondition> ret = new List<TriggerCondition>();
  -        ret.add(new ItemTraitTriggerCondition(session));
  -        ret.add(new CrownedCarapaceTriggerCondition(session));
  -
  -        //TODO should have drop down of one instance of each trigger, and a button to add a copy of one to the big bad
  -        //todo once you've added the copy it renders itself as a sub form
  +        ret.add(new ItemTraitTriggerCondition(session, bigBad));
  +        ret.add(new CrownedCarapaceTriggerCondition(session,bigBad));
           return ret;
       }
   
  
positive.code:   void renderForm(Element div) {
      // TODO: implement renderForm, should have list of all traits in system (do i even have that? oh uup)
        Set<ItemTrait> allTraits = ItemTraitFactory.allTraits;
    }
  }
  
  
negative.code:         List<GameEntity> allCarapaces = new List.from(session.prospit.associatedEntities);
          allCarapaces.addAll(session.derse.associatedEntities);
          //TODO
          div.appendHtml("TODO: Render Crowned Carapace Form");
      }
    @override
    TriggerCondition makeNewOfSameType() {
      return new CrownedCarapaceTriggerCondition(session, bigBad);
    }
  }