Consumer refactored