diverge from CM master to support dragging of text