added card class to centralize the card code, added card cache for looking up single cards