composite.h modified