dragging works
correct viewport calculation
minor clean-ups
dragging the viewport around