cleaner python3 support