change structure split modules in separate files