Partial Python 3 compatibility