composite view implementation