added card
added barcode func