refactor multi module