refactoring: extend self -> module_function