Python 3 and PYPY support