Added Python 3.x support and PyPy support