add self, initialize, and self.find methods