update semantics

update semantics