add python 3 compatibility