doc rationale refactor