rationale + documentation