some further refinements of the class structures