python 3 compatability attempts