constructor initialization with composition