A stab at supporting Python 3.x

third time is a charm