refactor more modules