         throw new Error "Expecting numbers as arguments"
       if not (rte instanceof Rte)
         throw new Error "Expecting an rte instance as third argument, got #{rte}"
-      @startPos = @_relativeFromAbsolute start, rte
-      @endPos = @_relativeFromAbsolute end, rte
-      @style = style
-
-      @left = rte.getWord @startPos.word
-      @right = rte.getWord @endPos.word
+
+      @rte = rte
+
+      @startPos = @_relativeFromAbsolute start
+      @endPos = @_relativeFromAbsolute end
+      @setStyle style
+
+      @left = @rte.getWord @startPos.word
+      @right = @rte.getWord @endPos.word
 
       @left.left.push @
       @right.right.push @
 
-      rte._rte.selections.push @
+      @rte._rte.selections.push @
+
 
     else throw new Error "Wrong set of parameters #{start}, #{end}, #{rte}, #{style}"
-
-    if not _.isUndefined(style)
-      @style = style
 
     @startPos.lt = @endPos.lt = (selection) ->
       @word < selection.word or (@word == selection.word and @pos <= selection.pos)

  # position within word
  #
  # @param [Integer] position index of position to find
  # @param [Rte] rte a rich text editor instance
  _relativeFromAbsolute: (position, rte)->
    index = 0

    while position > 0
      if index >= rte._rte.words.length
        return {word: index, pos: 0}
      if rte._rte.words[index].word.length > position
        return {word: index, pos: position}
      else
        position -= rte._rte.words[index].word.length
        index += 1
    return {word: index, pos: position}


    rightSel.left = leftSel.left

    rightSel.startPos = leftSel.startPos
    @rte.removeSel leftSel

  # Unbind selection from word
  unbind: ->
