поработал над избыточностью кода