composite reuse principle