make gathering steps flush multiple puts instead of just one