Мне кажется, что все решено нормально. Но валидатор так не считает. Правильное решение мной уже подсмотрено и мне оно понятно. Не понятно, что не так с моим))