new Updater class; restructured classes & modules: cleaner OO structure