controller should control