refactorign reservation controller