start working on semantics
clean