implemented some drag and drop