rearrange the project struct