Converted code to class-style instead of functional. Now accepts custom list of abbreviations. Added new tests.