Все переписал и изменил логику.