Python 3 compatibility updates