Python 3 both 2 support