Added a high level controller class