handle each request in separate thread (there could be some issues - requires polishing)