Python 3 compatible.