added selfAuthorize method