Added more design rationale