This role with inner/outer is something I recently found in one of the instruction pages where it is specifically said to use those two - I have to find that bit as I am unable to remember from top of my head where this instruction is stated. However, I will use your suggestions to make it better, and I will try to use validator which I never used before.