add drop function and data for drag