new cowu function adjusted