def expandToPhonemes(self):
            '''
            one-to-one function: PINYIN characters to turkish METU. 
            as intermediate step mandarin phoneset are used.   
            '''
            
            
            ######################
            ### pinyin to mandarin phonemeSet
            if not Phonetizer.phoneticDict:
                sys.exit("Phonetizer.phonetic Dict not defined. do Phonetizer.initPhoneticDict at beginning of all code")   
            
            self.phonemes = []    

            #  notes for instrument
            if self.text == 'REST':
                # TODO: replace with other model instead of silence
                self.phonemes.append(Phoneme('sil'))
                # TODO: does sp at end of sp make sence? 
                self.phonemes.append(Phoneme('sp'))
                return
            
            if self.text not in Phonetizer.phoneticDict:
                sys.exit("unknown syllable {} Please add it to the dict".format(self.text))
                  
            mandarinPhonemes = Phonetizer.phoneticDict[self.text]
              
            ####################
            #### mandarin to turkish METU
            
            if not Phonetizer.lookupTable:
                sys.exit("Phonetizer.lookupTable not defined. do Phonetizer.initlookupTable at beginning of all code")   

            phonemeIDs = []
            
            for ph in mandarinPhonemes:
                phonemeIDs = Phonetizer.grapheme2phonemeList(ph, phonemeIDs)
          
            #### create Phonemes as field
            for phonemeID in phonemeIDs:
                self.phonemes.append(Phoneme(phonemeID))
        
            if self.hasShortPauseAtEnd:
                self.phonemes.append(Phoneme('sp'))