Add composite pattern