source code compositeView pattern