Refactoring of the evaluator

Not ready yet, tests are missing and methods needs to be refactored (input/output) to make testing easier