refactoring drop