added request object, changed application layer and server