Added composite pattern.