starting work on static semantics