name this `consume` instead? overload of the other `consume`
but naming is up in the air anyway