Refactoring & Predicates implementation

- extracted class for building MF
- created class for building predicates
- update CMakelists
- compile & works (predicates not working yet)