Designing for reuse