Refactored with new DeclarationExpression