refactored base consumer, made req creation safer