Added composition type checking
Merged