more drag refactoring