half-assed py3 support