add python3 support