Updates to make compatible with python 2 and 3