Убрана отдельная функция по записи команд, ее работа перенесена в функцию 'run'.
Изменены имена переменных для большего понимания.
Фунции, переменые спрятаны в модуль.