attempt to build a complete generic ProjectTample