added discard button
wired up button to actually do the discard
make deselect() not depend on the number of buttons
also make patchFromCurrentSelection() not depend on the number of buttons