валидация
небольшая оптимизация
небольшая оптимизация