unified dnd using separate data objects