https://medium.com/@veerujadhav879/validating-credit-card-numbers-using-the-luhn-algorithm-in-java-3fd58e276744