complete Luhn algorithm
refactoring Algorithm
change some method name