implemented viewer selection editing and basic layer dragging