added composite, proxy