refactor methods in permission system.
dynamic type editing only possible for admins