override controller and logic