breaking out controller into genetic controller and simulation controller