restructure for multimodule