did some refactoring and added provider and and qualifier examples