refine project struct