refactor authority