add special logic for QRCode