Updated changes based on Jim's input, implemented non-viewer-based drag.