Cleaned up code for provider logic
Base consumer and consumer mapping