Keep the same pattern to implement modules.