non-terminal changes