composer implementation