still more restructuring until I am satisfied with the object model
more simplification
still more simplifications