Upgraded to work with Python 3.