added QR generation and popup