consume in IO