refactoring to add S-expressions