re-organized a LOT. moved most functionality to be methods on GoatEnv