add permission generator