created different controllers for different types of requests