Code unchanged, only the editor removed trailing whitespace
Refactored to support an external config file
Added an external config file, in the same format as the default hardcoded config