python 3 support (in progress)