public static void printAllPossibleWords(String digits, int index, String message) {
        if(digits == null || digits == ""){
            return;
        }

        if(index == digits.length()) {
            System.out.println(message);
            return;
        }


        String[] possibleChars = findPossibleMapForIndex(digits.charAt(index));
        if(possibleChars != null && possibleChars.length >0) {
            for( int i = 0; i<possibleChars.length; i++) {
                message += possibleChars[i];
                printAllPossibleWords(digits, index+1, message);
                // backtrack
                message = message.substring(0, message.length() -1);
            }
        }
    }