Added Python 3 compatibility