added CreditCardType and modified CreditCardFactory