Composite Pattern -- week 9