Extra Python 3 compatibility changes