better architecture and new request processing lib