module::call refactor