Improve Python 3 support