refactored : removed IInput parameter from IExpression