refactor module action