#1 Исправил по замечаниям. Добавил валидацию