     mute: false
 
     # raw characters
-    inputBuffer: ''
-    # synchonize with the text buffer
-    outputBuffer: ''
+    rawInput: ''
     # visual marker
     textBufferMarker: null
 

        else
            # key combination out of keymap
            # replace with closest the symbol possible
            # log 'IM!', "input buffer: #{@inputBuffer} \n output buffer #{@outputBuffer} \n input #{input}"
            return {
                output: @outputBuffer
                further: false
                suggestionKeys: []
                candidateSymbols: []

    # converts characters to symbol, and tells if there's any further possible combinations
    translate: (input) ->
        {valid, trie} = @validate input
        suggestionKeys   = @getSuggestionKeys trie
        candidateSymbols = @getCandidateSymbols trie
        if valid
            if suggestionKeys.length is 0
                return {
                    translation: candidateSymbols[0]
                    further: false
                    suggestionKeys: []
                    candidateSymbols: []
                }
            else
                return {
                    translation: candidateSymbols[0]
                    further: true
                    suggestionKeys: suggestionKeys
                    candidateSymbols: candidateSymbols
