separate qr code generator and saver