total refactor
pep8ed + flaked
completed review changes