finished implementing DiscardController rough draft