codebase restructure