add composite patter