Tiny nitpicks: this file is not completely pep8 compliant: there should be spaces after ``,``, and spaces around ``*`` (l. 18)