Refactored to L-expression