pep8 compliance, mostly courtesy of autopep8