added code for QR generation