first check in semant