factoring out the privileged stuff again