Consumer refactor