add non exisiting card which is selected in pointer to option list

why does it have to be real?   can't it point to a virtual card?  or a missing one for that matter?

seems like lots of overkill; I don't see any need for a separate method here.