прокоментируй функцию, не очень понятно что она выполняет