all public tempate extend public base, allow members to update their own projects using mixin