added qrcode framework