py3 support. it will close #1