Changed to use gevent for task distribution (less memory, etc) and refactored into class architecture with config file