added the composition model