finishing up semantics