improvements to the drop logic