drag and drop refactoring3