controller is a little more clean