add qrcode methods