added basic controller and service layer