mostly finish the drop-all func but with some trouble.