updated semantics and program run