added support for QR code generation