main entry point to the module can be required()