Refactor + caching in expression;