separate syntax from denotation