переделал логику