Исправлены комментарии, немного больше функционала