consumer framework