документация
рефакторинг, fixed #29
рефакторинг, fixed #33
тесты