add tests for new semantic checking