Related
After successfully getting my root and android market working, I would like to make sure that my fire does not update itself and i lose all of my hard work. What is the easiest way to make sure that I will not recieve ota updates? I have seen some people recommend droidwall, are there any other options?
Thanks in advance.
to unregister at amazon is confirmed
I have used http://market.android.com/details?id=com.stericson.permissions to disable the permission
com.amazon.dcp.ota.permission.UPDATE_FILES_LOOKUP
Click to expand...
Click to collapse
. No idea if it will work, but it looks interesting.
b63 said:
to unregister at amazon is confirmed
Click to expand...
Click to collapse
but how do i use all of my kindle services such as streaming and such.
you get one or the other. I would not expect a lot of updates from Amazon, but you never know.
Can you re-register at any time after you deregister?
Get the Voodoo OTA Rootkeeper from the market (too new to post links, but not a noob). You can temp unroot to use the Amazon services and reroot. If an OTA update gets pushed and installed, you can still reroot.
rooting/unrooting has nothing to do with registering/unregistering the device at amazon and the root status will not have any impact on ota updates.
unregistering will prevent the update allthrough i used an other solution (worked for me):
i deleted /system/etc/security/cacerts.zip - watched the update downloading to the cache folder but did not install - after a reboot the update file was disappeared from the cache folder
was registered all the time
Which file to delete?
Question. My system folder/etc/security has two files and the cacerts file is a .bks file not.zip. The other file is otacerts.zip. Which one should I delete to prevent the update?
b63 said:
rooting/unrooting has nothing to do with registering/unregistering the device at amazon and the root status will not have any impact on ota updates.
unregistering will prevent the update allthrough i used an other solution (worked for me):
i deleted /system/etc/security/cacerts.zip - watched the update downloading to the cache folder but did not install - after a reboot the update file was disappeared from the cache folder
was registered all the time
Click to expand...
Click to collapse
you selelected a quite old thread - with a typo too - sorry
here is the link to the complete solution:
http://forum.xda-developers.com/showthread.php?t=1451328
and it's otacerts.zip ...
b63 said:
you selelected a quite old thread - with a typo too - sorry
here is the link to the complete solution:
http://forum.xda-developers.com/showthread.php?t=1451328
and it's otacerts.zip ...
Click to expand...
Click to collapse
I did this method as well. Not sure if it works, I don't think any OTA updates have been pushed out since I made the mod....
Ok, they keep updating and breaking root. I hear droidwall will block it.
But what is the name I should be blocking?
Or is there a better way to stop auto updating?
Delete OTACERTS.zip in system/etc/security. You must enable r/w and have root.
When I did It, it downloaded the update in front of me but didn't update. Then I deleted the update. Now i'm still on 6.2.1 and Loving It.
Molinari said:
Ok, they keep updating and breaking root. I hear droidwall will block it.
But what is the name I should be blocking?
Or is there a better way to stop auto updating?
Click to expand...
Click to collapse
I did the otacerts.zip thing mentioned above (moved to sdcard and renamed to otacerts.bak).
However, just to be safe I am also using droidwall. With droidwall, I started out by blocking everything (default) and then unblocked things when they would not work (use the log to see what is being blocked). Be sure to actually enable the blocking and the logs (they are off by default). Some things you can be unblocked ahead of time like Market and Browser. The only potential issue with using droidblocker is that whatever is used for the OTA update might also be used by something else that needs to be unblocked.
mark_a_l said:
I did the otacerts.zip thing mentioned above (moved to sdcard and renamed to otacerts.bak).
However, just to be safe I am also using droidwall. With droidwall, I started out by blocking everything (default) and then unblocked things when they would not work (use the log to see what is being blocked). Be sure to actually enable the blocking and the logs (they are off by default). Some things you can be unblocked ahead of time like Market and Browser. The only potential issue with using droidblocker is that whatever is used for the OTA update might also be used by something else that needs to be unblocked.
Click to expand...
Click to collapse
Droidwall Doesnt work, I tried that on the 6.1 to 6.2 update because I did not want to risk a potential update. That was before we knew of the ota updates.
iroctheworld said:
Droidwall Doesnt work, I tried that on the 6.1 to 6.2 update because I did not want to risk a potential update. That was before we knew of the ota updates.
Click to expand...
Click to collapse
What were you blocking? I've only got about 6 things on my white list (not blocked). Half are market related. In any case even if it doesn't work for OTA updates, I find some apps to be a bit too 'chatty' (looking at the logs). So it does work at blocking 'unnecessary' wifi traffic.
Thanks for the rename tip!
I am still avoiding the 6.2.2 update (only time can tell, last time mine was updated about 1 week after the first posting about forced updates ...)
I am running the rooted version of 6.2.1. I flashed this after losing root from the 6.2.1 forced update.
This time I only did two "mods" for protection -
(1) un-register from Amazon (actually I never register during ROM installation)
(2) use Droidwall
I dunno which one will make me survive the forced update, but I suspect it may / will be #(1).
I only allow a few things to go through Droidwall, most of them are 3rd party apps' names. The only two additional processes necessary for normal functions are:
(1) downloads, media storage, DRM protected content storage, download manager (needed for Market downloads)
(2) search (for Google search)
The one I always worry about in Droidwall is obviously #(1). I certainly do not let things like Amazon device client platform (ADCP) to go through!
This is just my Droidwall setup. People using other apps may need to allow other Android processes through therefore I cannot guarantee Amazon update won't sneak through that way.
I only know about the otacerts.zip when I revisited the forum yesterday afte reading elsewhere about the new OTA update. This time I won't modify this file on purpose.
(fingers crossed for me, I am not out of the woods yet)
P.S. Feb 2nd and I am still clean, looks like I dodged it!
Just reply when you know the update is being sent in OTA so JCase can release root.
So if anyone intends on getting the update and not rooting,give us a heads up when you receive the update.
retroben said:
Just reply when you know the update is being sent in OTA so JCase can release root.
So if anyone intends on getting the update and not rooting,give us a heads up when you receive the update.
Click to expand...
Click to collapse
Root already released by GeoHot via towelroot.com
Thanks for using this thread.
I could have also said to reply if any form of root becomes available to Fire TV before the OTA update.
I am already rooted,and have already fixed up my hosts file for blocking the OTA links using a hosts editor app from google play..
I would imagine an update must be coming soon now that a root exploit has been made public. Better make sure you're DNS settings are solid and best to root and block updates sooner rather than later.
For those who have rooted, you can run this command in adb shell to completely disable the updater:
pm disable com.amazon.dcp
You can verify in the system -> about it says "Checking now" for "Last Checked" on the update.
I just did that,and it said killed.
I still see the last date it was checked.
When should I see "checking in "last checked" option?
So in the terminal app I use to sideload other apps on my Fire TV I type:
adb shell pm disable com.amazon.dcp
Is that right?
I would try just
adb shell
and then at the prompt type
pm disable com.amazon.dcp
You might need to reboot to get the menu to change.
rbox said:
I would try just
adb shell
and then at the prompt type
pm disable com.amazon.dcp
You might need to reboot to get the menu to change.
Click to expand...
Click to collapse
Does killing the updater survive a hard reboot, for example after a power cut?
If not, how could I set the command to run at boot ?
Thanks for all the work on this great device so far :good:
can't u just rename the updater apk to something else? btw what is the name of the apk?
Yes the pm disable is permanent.
Yes you can rename the apk, but why rename the apk when the pm disable is infinitly easier? The apk is /system/app/com.amazon.dcp.apk
I am using js terminal on my android tablet to sideload everything. How can I execute this command this way?
I tried adb shell but got an error. Thanks!
Nevermind, I found some directions for that!!!
rbox said:
I would try just
adb shell
and then at the prompt type
pm disable com.amazon.dcp
You might need to reboot to get the menu to change.
Click to expand...
Click to collapse
I plan to disable updates per the above instructions, but are these commands reversible as well? If Amazon releases an update that brings additional functionality down the road, I may reconsider my decision to update (and potentially re-root with another method).
vyktym said:
I plan to disable updates per the above instructions, but are these commands reversible as well? If Amazon releases an update that brings additional functionality down the road, I may reconsider my decision to update (and potentially re-root with another method).
Click to expand...
Click to collapse
pm enable com.amazon.dcp will, well, enable it again.
JPDeckers said:
pm enable com.amazon.dcp will, well, enable it again.
Click to expand...
Click to collapse
Thanks!!
JPDeckers said:
pm enable com.amazon.dcp will, well, enable it again.
Click to expand...
Click to collapse
This made me laugh :good:
Blocking URL's
Not ready to root until ClockWorksMod Recovery is available but want to be able to root when this is true.
http://forum.xda-developers.com/showthread.php?t=2760884
Found this thread about blocking URL's. Seems like this is what is needed if we don't root until more options and tools are available for rooted FTV..
I am using Linksys E4200 and using Access Restriction > Parental Controls option. Pasted the plain text copies of URLS's which were transferred to router version below. Since URL 1's translation was too long I had to manually paste cut off ".net" in URL 1. Set access to always.Target Devices > Restrict Internet Access need to add FTV device.
Block Specific Sites
amzdigitaldownloads.edges.net ****Edit: this should be **** amzdigitaldownloads.edgesuite.net ****
firs-ta-g7g.amazon.com
Schedule Block Internet Access
Always
Target Devices Restrict Internet Access
android-c770a088dec6570f
android-f28e25ac80891726
Android_A10000138BBBB8
Two questions. Not sure what FTV is listed as. Other devices showed up with name so I know not to add them. Guessed the three "android" names above that one was FTV. Does anyone know if this is correct and if correct which one is my FTV? If not correct what is is called?
For Block Specific Sites is the first URL necessary and does blocking it cause problems with some of the current FTV apps?
You are missing part of the digital downloads site.
It should be "edgesuite" not edges.
The amzdigitaldownloads link can cause services to fail,but services do not fail when only blocking the "firs-ta-g7g" page.
Even the PolarisGo app fails to work,but the website works fine.
retroben said:
You are missing part of the digital downloads site.
It should be "edgesuite" not edges.
The amzdigitaldownloads link can cause services to fail,but services do not fail when only blocking the "firs-ta-g7g" page.
Even the PolarisGo app fails to work,but the website works fine.
Click to expand...
Click to collapse
I switched to only blocking firs-ta-g7g.amazon.com. This should be ok, right? What people at thread were blocking.
Used my router to find FireTV was 192.168.1.126. Checked Status > Local Network > DHCP Client Table
Saw that android-f28e25ac80891726 was mapped to 192.168.1.126 which FireTV said it was using. Deleted other entries.
I just bought a fire TV from best buy for my dad I'm about to set it up for the first time then root has an update that kills root came out yet or am I good to go?
Sent from my SAMSUNG-SM-N900A using XDA Premium 4 mobile app
bradr00lzd00d1 said:
I just bought a fire TV from best buy for my dad I'm about to set it up for the first time then root has an update that kills root came out yet or am I good to go?
Sent from my SAMSUNG-SM-N900A using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I just bought a FTV last night from best buy as well. I booted it up and updated it prior to rooting it. Not sure if next week's update will patch this rooting method, but I do not want to make that mistake again. I updated my chromecast when they first came out like an idiot... and can't ever root those
URL for updates appears to have changed. Now it's HTTPS and the OTA is now being pulled from https://amzdigital-a.akamaihd.net. Unfortunately I don't have SSL sniffing enabled so I can't give you the links.
Installed the update, rooting fails with KingRoot 4.1. Reset to factory defaults, installed Kingroot 4.1, rooting failed :crying:
Old method of flashing the recovery first from rbox still works. For now you need to downgrade to pre-rooted 5.0.5.0, until rbox releases a pre-rooted 5.0.5.1:
Rooting is still possible:
- Download install_firetv2_recovery_v3.zip
- Download firetv2_recovery_v5.zip
- Extract both to same folder
- Run install_firetv2_recovery.bat
- Plug in power to AFTV2 and let it flash the recovery.
- When it's done copy ramdisk-recovery.cpio.lzma and sloane-5.0.5-rooted_r4.zip firmware to a NON corrupt usb or sdcard
- Reboot, choose recovery with a keyboard
- Install the 5.0.5.0 firmware
- Boot and bingo :good:
1st Gen?
Sent from my SM-N900V using Tapatalk
roligov said:
Some how got both URLs for the full firmware version and the OTA.
Download link:
Code:
http://amzdigitaldownloads.edgesuite.net/obfuscated-otav3-6/8921f843c5dc154a747edb468b3b773f/update-sloane_full_sloane-536116920-to-537174420.bin
Code:
http://amzdigitaldownloads.edgesuite.net/obfuscated-otav3-7/471d77e1c3ad23df4a469c8b88a0c200/update-kindle-full_sloane-36.5.3.7_user_537174420.bin
Will attempt root after it installs...
Click to expand...
Click to collapse
Do you have more then one version of a FTV device... aka Fire TV (1st Gen), Fire TV Stick, Fire TV (2nd Gen) ?
I do have multiple AFTV1s and AFTV2s, but only 1 is configured to go through my PC as a proxy. The full firmware is the one my AFTV2 is downloading. Will update in a few minutes....
roligov said:
Sorry ignore this. This thread can be trashed, this is an AFTV2 that was sitting in the cupboard not on 5.0.5.0. Still odd the full update came through? Thought all firmware updates were OTA's, Sorry guys!
Click to expand...
Click to collapse
By chance, did that AFTV2 have FireStarter installed prior to updating to 5.0.5 just now? If so, can you check to see if FireStarter is still listed in your Settings > Applications list?
I saw some strange behavior on one of my boxes that makes me think the new issues envolving FireStarter are not limited to the 5.0.5.1 update.
Sorry developing news: 1 firetv2 was on an old firmware, so it got the 5.0.5.0 update and nothing further.
Another FireTV2 of mine had the 5.0.5.1 update on the box and was ready to install it. I had to remove the update from /mnt/shell/emulated/0/Android/data/com.amazon.device.software.ota/files/update-kindle-full_sloane-36.5.3.7_user_537175520.bin
I will sniff the link again quick.
Bad news, the URL for updates has changed to HTTPS. The firmware is now being pulled from https://amzdigital-a.akamaihd.net. Unfortunately I don't have SSL sniffing enabled so I can't give you the links.
Elias: New article for you: Be aware if you haven't disabled the updates via package manager and are blocking via your router, your device will get the OTA as that site is not 1 of the 3 we currently block.
Rooting appears to be blocked on 5.0.5.1, at least with KingRoot 4.1
Tried Kingroot v4.8.5, still failed. It's official. Amazon have decided to be c*nts. Rooting is blocked in 5.0.5.1. Sound the alarm bells, run for the hills! DO NOT UPDATE if you enjoying root!
I can also confirm that Firestarter is broken and will not work after a reboot, this is the error you will get:
http://i.imgur.com/WD0dZTU.png
Image of rooting failed with KingRoot: http://i.imgur.com/2G9zHb5.png
roligov said:
Bad news, the URL for updates has changed to HTTPS. The firmware is now being pulled from https://amzdigital-a.akamaihd.net. Unfortunately I don't have SSL sniffing enabled so I can't give you the links.
Elias: New article for you: Be aware if you haven't disabled the updates via package manager and are blocking via your router, your device will get the OTA as that site is not 1 of the 3 we currently block.
Click to expand...
Click to collapse
sorry for asking but which packages do you've blocked to prevent the box updating?
I've already disabled two services with adb but now I'm not sure if I'm safe or not.
Go to http://www.aftvnews.com/block and follow method 1, that's probably your safest bet. Second just add the new URL above to method 3, even though it's https, the URL can still be blocked because only the traffic is encrypted not the URL.
Last image before I go to bed. Proof I have the 5.0.5.1 update: http://i.imgur.com/VVmdG7U.png
Just because they're using HTTPS doesn't mean blocking via DNS or router methods won't work, it just means you can't easily sniff out the full URL of the update. Something like Charles Proxy would allow you to decrypt SSL during the proxy, this assumes that the client (Fire TV) is either not validating certs or you can install the cert you're using in Charles on the device itself.
bubbanc said:
Just because they're using HTTPS doesn't mean blocking via DNS or router methods won't work, it just means you can't easily sniff out the full URL of the update. Something like Charles Proxy would allow you to decrypt SSL during the proxy, this assumes that the client (Fire TV) is either not validating certs or you can install the cert you're using in Charles on the device itself.
Click to expand...
Click to collapse
You can block via DNS, but you can't block via URL. To block via URL a router has to do packet inspection to inspect the HTTP request, and when using HTTPS, it's encrypted so the router can't do that. The FireTV does validate certificates, and you need root to be able to add one.
bubbanc said:
Just because they're using HTTPS doesn't mean blocking via DNS or router methods won't work, it just means you can't easily sniff out the full URL of the update. Something like Charles Proxy would allow you to decrypt SSL during the proxy, this assumes that the client (Fire TV) is either not validating certs or you can install the cert you're using in Charles on the device itself.
Click to expand...
Click to collapse
Correct. But it probably depends on your router, but my router is a Mikrotik and it can block at layer 7 (application layer in OSI). Because the URL request is in plain text, it can still block it. I've tested and confirms it works on the Mikrotik. The issue is that this is a new url that we have not been blocking, meaning those who are only blocking via router or dns will still get this update.
is this the way to block it? or need to put https in front of it?? thanx
So on an unrooted device this update deletes Firestarter but moves all apps to the recent section, so no big loss here. One major problem I'm having though is that DTS and Dolby Digital Audio is not working at all in Kodi (16.0)
htchd2fix said:
is this the way to block it? or need to put https in front of it?? thanx
Click to expand...
Click to collapse
http://forum.xda-developers.com/fire-tv/general/block-ota-updates-root-fire-os-5-t3183134
Bramton1 said:
http://forum.xda-developers.com/fire-tv/general/block-ota-updates-root-fire-os-5-t3183134
Click to expand...
Click to collapse
Does this method work with https?
After searching the internet for maybe 10 hrs to find a working solution to this problem, i finally found a way to stop updates on Kindle Fire:
You need to download NoRoot Firewall from Play Store: play.google.com/store/apps/details?id=app.greyshirts.firewall&hl=de
How to get PlayStore on Kindle Fire:
Download, unzip and copy on your device: computerbild.de/download/Google-Play-Store-fuer-Amazon-Fire-Tablets-APK-18304123.html
Install in this order:
1. GoogleLoginService.apk
2. GoogleServicesFramework.apk
3. com.google.android.gms-6.6.03_(1681564-036)-6603036-minAPI9.apk
4. com.android.vending_7.2.13_com(playstore).apk
When the Firewall is installed, you need to block "DeviceSoftwareOTA". After that you go to Settings -> Apps&Games -> Manage All Applications -> All and search for "Device SoftwareOTA". Press CLEAR DATA to delete the downloaded update.
Thats it!
NOTE: You should not wait too long after getting internet access on your device. Otherwise the update will INSTALL AUTOMATICLY AND YOU WILL NOT BE ABLE TO REMOVE.
Sorry for no real links, I am not allowed to post them.
Sorry for your long search.
This is a known solution on this device (active discussion in several threads) and Amazon devices in general dating back several generations.
But good you reposted as folks tend to look at the most recent contributions and are not especially fond of searching.
Waldelb said:
After searching the internet for maybe 10 hrs to find a working solution to this problem, i finally found a way to stop updates on Kindle Fire:
You need to download NoRoot Firewall from Play Store: play.google.com/store/apps/details?id=app.greyshirts.firewall&hl=de
How to get PlayStore on Kindle Fire:
Download, unzip and copy on your device: computerbild.de/download/Google-Play-Store-fuer-Amazon-Fire-Tablets-APK-18304123.html
Install in this order:
1. GoogleLoginService.apk
2. GoogleServicesFramework.apk
3. com.google.android.gms-6.6.03_(1681564-036)-6603036-minAPI9.apk
4. com.android.vending_7.2.13_com(playstore).apk
When the Firewall is installed, you need to block "DeviceSoftwareOTA". After that you go to Settings -> Apps&Games -> Manage All Applications -> All and search for "Device SoftwareOTA". Press CLEAR DATA to delete the downloaded update.
Thats it!
NOTE: You should not wait too long after getting internet access on your device. Otherwise the update will INSTALL AUTOMATICLY AND YOU WILL NOT BE ABLE TO REMOVE.
Sorry for no real links, I am not allowed to post them.
Click to expand...
Click to collapse
https://forum.xda-developers.com/amazon-fire/general/amazon-fire-utility-tool-bloat-removal-t3641151
There's already a batch file that does all this for you and then some.
Technocian said:
https://forum.xda-developers.com/amazon-fire/general/amazon-fire-utility-tool-bloat-removal-t3641151
There's already a batch file that does all this for you and then some.
Click to expand...
Click to collapse
yeah but it doesn't work on fire os 5.4.0.1 from what I here so do it ASAP
Technocian said:
https://forum.xda-developers.com/amazon-fire/general/amazon-fire-utility-tool-bloat-removal-t3641151
There's already a batch file that does all this for you and then some.
Click to expand...
Click to collapse
savvytechwinner said:
yeah but it doesn't work on fire os 5.4.0.1 from what I here so do it ASAP
Click to expand...
Click to collapse
This has not been confirmed through multiple sources. One (perhaps two) individuals reported difficulty disabling pre-installed apps on FireOS 5.4.0.1 leading to much discussion and an unproven conclusion that Amazon had removed certain capabilities from FireOS 5.4.0.1.
I certainly concur the possibility exists and allowing the device to update is unwise until we know the full story.
I have it on my bucket list to install 5.4.0.1 for a test run. However, the target device (which has a preservable 5.0.1 bootloader) is in use and I'd rather not fire-up a new one. At present field reports are the best source.
Sadly this didn't work to block an update to my new tablet.
I thought I had everything GTG with these instructions but last night my tablet got updated from 5.3.3.0 to 5.4.4.0. So ya, bumber!!
byproxy said:
Sadly this didn't work to block an update to my new tablet.
I thought I had everything GTG with these instructions but last night my tablet got updated from 5.3.3.0 to 5.4.4.0. So ya, bumber!!
Click to expand...
Click to collapse
5.4.4.0 is a thing or is that a typo?
Sent from my KFFOWI using Tapatalk
Must be a typo, mixing up 5.3.4.0 and 5.4.0.0 - which seem to be identical though, as build.prop contains
Code:
ro.build.mktg.fireos=Fire OS 5.4.0.0
ro.build.version.name=Fire OS 5.3.4.0 (579225620)
5.4.4.0 isn't a thing yet (although I've seen that version string here, multiple times)
steve8x8 said:
Must be a typo, mixing up 5.3.4.0 and 5.4.0.0 - which seem to be identical though, as build.prop contains
Code:
ro.build.mktg.fireos=Fire OS 5.4.0.0
ro.build.version.name=Fire OS 5.3.4.0 (579225620)
5.4.4.0 isn't a thing yet (although I've seen that version string here, multiple times)
Click to expand...
Click to collapse
Yeah I saw it multiple times too and wanted to know if Amazon was going insane with the updates.
Sent from my KFFOWI using Tapatalk
Jake1702_ said:
Yeah I saw it multiple times too and wanted to know if Amazon was going insane with the updates.
Sent from my KFFOWI using Tapatalk
Click to expand...
Click to collapse
It could mean a few things 1) 5.4.0.0 and 5.3.4.0 are both the same...as in no significant update was needed to modify the build.prop with a newer version. 2) So because of that the lower version would really still be the current "version". 3) Typo. And given the things we've seen and discovered, I wouldn't be surprised if it was that.
Thank you
Waldelb said:
After searching the internet for maybe 10 hrs to find a working solution to this problem, i finally found a way to stop updates on Kindle Fire:
You need to download NoRoot Firewall from Play Store: play.google.com/store/apps/details?id=app.greyshirts.firewall&hl=de
How to get PlayStore on Kindle Fire:
Download, unzip and copy on your device: computerbild.de/download/Google-Play-Store-fuer-Amazon-Fire-Tablets-APK-18304123.html
Install in this order:
1. GoogleLoginService.apk
2. GoogleServicesFramework.apk
3. com.google.android.gms-6.6.03_(1681564-036)-6603036-minAPI9.apk
4. com.android.vending_7.2.13_com(playstore).apk
When the Firewall is installed, you need to block "DeviceSoftwareOTA". After that you go to Settings -> Apps&Games -> Manage All Applications -> All and search for "Device SoftwareOTA". Press CLEAR DATA to delete the downloaded update.
Thats it!
NOTE: You should not wait too long after getting internet access on your device. Otherwise the update will INSTALL AUTOMATICLY AND YOU WILL NOT BE ABLE TO REMOVE.
Sorry for no real links, I am not allowed to post them.
Click to expand...
Click to collapse
Thanks. Straight forward. Used how to feel guide precisely for for fire hd 10 to get play store working. Now I'm in airplane mode about to apply your steps. All the other post about it were vague and posters just sent links to other discussions that just made it frustrating. Thank you again.