compatibility with Python 3