use handleRequest