refactored some property names, added comment. It is now coming to the stage when I'm happy with final the design in my head.