     # no overlapping of marks
     markLeftX = Math.max markLeftX,
                         (@closestXBelow + @handleWidth()/2 || markLeftX),
-                        (@canvasGraph.toPixels(@canvasGraph.smallestX))
+                        (@canvasGraph.toPixels(@canvasGraph.smallestX)),@canvasGraph.leftPadding
 
     markRightX = Math.min markRightX,
                          (@closestXAbove - @handleWidth()/2 || markRightX),
-                         (@canvasGraph.toPixels(@canvasGraph.largestX))
+                         (@canvasGraph.toPixels(@canvasGraph.largestX)) + @canvasGraph.leftPadding
 
     # max and min width on creating / resizing marks
     width = Math.min (Math.max (Math.abs parseFloat(markRightX) - parseFloat(markLeftX)), parseFloat(@minWidth())), parseFloat(@maxWidth())


  move: (e) ->
    markWidth = parseFloat @element.style.width
    
    # no overlapping of marks or moving out of canvas bounds
    leftXPos = Math.max (@toCanvasXPoint(e) - @moveOffset),
                        (@closestXBelow || -@handleWidth()/2) + @handleWidth()/2,
                        @canvasGraph.leftPadding
    leftXPos = Math.min leftXPos,
                        ((@closestXAbove || @canvas.width + @handleWidth()/2) - markWidth) - @handleWidth()/2


    #data coords
    @dataXMinRel = @canvasGraph.toDays(@canvasXMin-@canvasGraph.leftPadding)
    @dataXMaxRel = @canvasGraph.toDays(@canvasXMax-@canvasGraph.leftPadding)
    @dataXMinGlobal = @dataXMinRel + @originalMin
    @dataXMaxGlobal = @dataXMaxRel + @originalMin

  onMouseDown: (e) =>
