Python 3.3+ compatibility