Modified for Python 3.4