working draft of lazy drop