restruct the project