edits for python 2 + 3 compatibility