migrated to be a module, not just a single script