minor point, but the class below puts the payment provider as a suffix, here its a prefix