Updated semantic checking