renamed presenter to controller