Refactored to include Unauthorized and Forbidden methods, instead of NotAuthorized