нашел ошибку но перед тем как двигаться дальше необходим хороший рефакторинг