Finally working in cluster reasoning

- in cluster reasoning works
- fixed segfaults by adding superclass variables into subclasses
- some refactoring: strings passed by reference