simplified a lot with delegates, now just gotta figure out why card jumps around