half way done the controller objects algorithm