Bridge and composite patterns implementations... replaced some methods...