implement reading card data