put controller in its own file