Finished draft of Discard functionality