fixes constant to be values not object. interestingly tests still pass
remove singletons and make them constants
fixed relation of values and types that had got watered in the virtual move
fixed tests because of inheritance changes
fixes the tests after fixing hierarchy