added qrcode image generation