refactor the module param