construct from each unit