tidying up semantics