Some upgrades for Python 3 compatibility