Updated for Python 3.x latest versions