restructure module