fix Python 3 compatibility