new implementation of PaymentImpl