Updated to Python 3