change guard and permissions interface