design rationale fixed