Are provider=1 and provider=2 significant?  If they are they should be defined as constants and referenced by name.