Re-organize the dependency of the modules