add comments and pep8 correct