Приведение кода в соответствие PEP8.
Добавление комментариев.
Первая полностью работоспособная версия.