добавил внутреннее кеширование