Lots of work towards implementing and testing basic functionality of the dsl.