Towards Python 3 compatibility