re-adding a semantic check