use replace() instead of add() when dropping on a filled singleton slot