я придумал такое решение. вроде логически правильное?