code: def has(self,word):
  		if not word: return False
  		word=unicode(word)
  		(p0,word,p1)=gleanPunc2(word)
  		word_l = word.lower()
  
  
  		## if not there, but a contractino
  		# if already there, say yes
  		if word_l in self.dict['Word'] and self.dict['Word'][word_l]: return True
  		
  
  		return (word_l in self.dict['Word'] and self.dict['Word'][word_l])
docs: for contr,add_ipa in [("'s","z"), ("'d","d")]:
  			if word_l.endswith(contr):
  				word_l_unc = word_l[:-2]
  				# if the uncontracted in the dictionary
  				if word_l_unc in self.dict['Word'] and self.dict['Word'][word_l_unc]:
  					for obj in self.dict['Word'][word_l_unc]:
  						if type(obj) in [tuple]:
  							ipa,sylls_text=obj
  						else:
  							ipa=obj.ipa
  							sylls_text=obj.sylls_text
  
  						ipa+=add_ipa
  						#sylls_text[-1]+=contr
  
  						## save new word
  						if not word_l in self.dict['Word']: self.dict['Word'][word_l]=[]
  						self.dict['Word'][word_l]+=[(ipa,sylls_text)]