update with composition