refactored idea class initialize, self.all and self.find