refactored to use multiple workers
added handler for http put