Controller 구현