formatting
now that we have something that works for both single and double letter abbreviations, it is time to start whittling away at some of the duplications.  First round, we do something about the underscore and pipe characters that we use to make the box
Attempted to remove some duplication.  Used the option to indicate that there may be a case wher we find no match.  introduced another "holder" class.  Decreased the lines of code by about 15, don't think it is any less readable, but don't think it is any more readable.
some notes
getting rid of the nested if statements.  still need to clear up what is going on.
labeling as tail recursive. made private.
renaming the variables/methods for consistency and to be a little more understandable.