change server to gevent & improve the project