Evaluating tree expression still needs lot of refactoring