Moved to Python 3 & readability improvements