Добавлены пару проверок. Разделены функции экспорта. Добавлены комментарии к коду. Тесты убраны в отдельную папку.