completed encapsulation of request handling