избавился от дублирования кода + поправил комментарии к классу