Refactor semantics