drag and drop refactoring2