implement qrcode-reader