controller - controller logic