more python 3 compatibility