first pass on py3
working on updates