Добавил все возможные проверки.