improved needDrop method