add basic simplifier
Add typing information (basic) and some more semantics to simplify