Added Controller, Generation classes; crossing and evaluator functions