Drag drop seating

It isn't complete but I think it's stable enough to merge.