added parameter lazy, eager, and complete
added expression.UnknownExpression