Теперь приложение проходит все тесты.
Добавил еще и от себя пару.
Переместил файлы, как мне кажется, более логично.
Переписал некоторые функции.
Дополнил readme.