small optimizations for drop