   direction: 'down'
 
   execute: ->
-    for blockwiseSelection in @vimState.getBlockwiseSelections()
+    for bs in @vimState.getBlockwiseSelections()
       @countTimes =>
-        blockwiseSelection.moveSelection(@direction)
+        bs.moveSelection(@direction)
 
 class BlockwiseMoveUp extends BlockwiseMoveDown
   @extend()

class BlockwiseOtherEnd extends VisualBlockwise
  @extend()
  execute: ->
    for blockwiseSelection in @vimState.getBlockwiseSelections()
      unless blockwiseSelection.isSingleLine()
        blockwiseSelection.reverse()
    @new('ReverseSelections').execute()

class BlockwiseMoveDown extends VisualBlockwise

  execute: ->
    pointByBlockwiseSelection = new Map

    for bs in @vimState.getBlockwiseSelections()
      bs.setPositionForSelections('start')

      point = bs.getTop().getHeadBufferPosition()
      pointByBlockwiseSelection.set(bs, point)

    @vimState.activate('normal')
    @new(@delegateTo).execute()

    pointByBlockwiseSelection.forEach (point, bs) ->
      bs.setBufferPosition(point)

class BlockwiseChangeToLastCharacterOfLine extends BlockwiseDeleteToLastCharacterOfLine
  @extend()
