using static and dynamic rules in permit constructor and allower