make tight coupling btw renderer&provider