wildly recursive class Dimension seems to work good