changes with more rationale