Python3 Update

I redid the code to work in Python3, however there has not been
extensive testing so not a stable build yet.