python3 adaption