Changed profider priority
Design changes.
Added provider module