implemented qrcode scan