fixed card's json bug, NewDeck now returns concrete type