adapted to pep 8