wrote a LispVal type, in case the DSL doesn't work out
added some more statements to the DSL