Fully pep8 compliant