update to work with python 3