modify self.authenticate