consolidates with collect