added model with composition and discriminator