Mortgage calculator TODO: input validation support for partial premature payments dynamic early payments or more than two static ones support for interest rate update after fixed period expiration