greenlet integration