fixed some consume logic