fix: check digit calculation