first pass at python v3 support