 
     # remove clicked chunk and hovered chunk
     # idea: use hoveredToken instead of first / last if chunk shrinking does not work
-    this.removeCurrentChunk()
+    this.removeChunkWithIndex(this.selectedTokenIndex)
     unless this.tokensBelongToSameChunk(firstIndex, lastIndex)
       this.removeChunkWithStartIndex(firstIndex) if clickedTokenIndex < hoveredTokenIndex
+      this.removeChunkWithIndex(lastIndex) if clickedTokenIndex > hoveredTokenIndex
 
     # build chunk from start to end
-    this.selectChunkWithTokenIndex(firstIndex)
-    # this.addTokenToChunk('right') for [1..(lastIndex - firstIndex)]
-
-    # TODO:
-    # - highlight chunk
+    this.addNewToken(this.tokens[firstIndex].$token, firstIndex)
+    this.addTokenToChunk('right') for [1..(lastIndex - firstIndex)]
 
   addTokenToChunk: (side) ->
     mostOuterTokenListIndex = this.getMostOuterTokenIndexFromChunk(this.selectedTokenIndex, side)

    mostOuterToken.$token.removeClass('selected')
    this.selectedTokenIndex = siblingIndex if this.selectedTokenIndex == mostOuterTokenListIndex

  removeCurrentChunk: ->
    mostOuterTokenListIndex = this.getMostOuterTokenIndexFromChunk(this.selectedTokenIndex, 'left')
    this.removeChunkWithStartIndex(mostOuterTokenListIndex)

  removeChunkWithStartIndex: (mostOuterTokenListIndex) ->


    # backspace
    if keyIsPressed(8)
      _this.removeChunkWithIndex(this.selectedTokenIndex)

    # shift
    if keyIsPressed(16)
