Есть ли в этом недостаток какой-то по сравнению с Вашей версией? Что возможно сделал криво или излише?
Вы всё сделали хорошо