Сделать как надо не вышло, высылаю как есть.

Все попытки объединить коммиты провалились. Извиняюсь, что не удалось выполнить задание, но т.к. его все-таки надо сдавать делаю очередной пул реквест с надеждой, что вы его примете. Результаты моих стараний видны в истории коммитов.