add support for different refund types.