added lazy instantiation to cards