code reviewed nearly OK + PEP8