rename singleton to SingetoneCompoite