'exists' is a protected function