updated semantics for halting