started to refactor some of the initial stuff I wrote. In particular the getting property names doesn't require to have separate method calls for class and superclass. Can be done in one.