added request_handler functionality