update guardian generation mechanism