fix: py3k compatibility