refactor tests, start working on (eval)