Port to gevent