yashsingh1/xdaforums huggingface dataset:
[HTC Desire S] paulie-uk:
Attached the different files you might want

Get RUUs here (how to choose)

ADB 16.0.2 windows, linux, macosx

HTC Windows Drivers here (For Windows 8 use the Windows 7 equivalent)
[HTC Desire S] KotasMan:
Notworkd

zergRush download link doesn't work ://

---------- Post added at 05:46 PM ---------- Previous post was at 05:07 PM ----------

okay, zergRush i already have, but its doesn't work. I get this..

C:\Documents and Settings\Kotas>cd C:\Documents and Settings\Kotas\Plocha\ROOT

C:\Documents and Settings\Kotas\Plocha\ROOT>adb push zergRush /data/local/tmp
adb server is out of date. killing...
* daemon started successfully *
720 KB/s (23060 bytes in 0.031s)

C:\Documents and Settings\Kotas\Plocha\ROOT>adb push misc_version /data/local/tm
p
adb server is out of date. killing...
* daemon started successfully *
549 KB/s (589450 bytes in 1.046s)

C:\Documents and Settings\Kotas\Plocha\ROOT>adb shell chmod 777 /data/local/tmp/
zergRush
adb server is out of date. killing...

then nothing. Help me please :))
[HTC Desire S] KotasMan:
Need help

[**] Zerg rush - Android 2.2/2.3 local root
[**] (C) 2011 Revolutionary. All rights reserved.

[**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew.

[-] Cannot copy boomsh.: Permission denied

Really need help ._.
[HTC Desire S] t0bb:
...why you insist to unlock without HTCdev?

it will be much easier to just go official unlock....i expect you have no warranty on your device so it wont matter..
[HTC Desire S] KotasMan:
unlocked

okay, i already have unlocked bootloader via htcdev, but still hboot 2.00 S-ON. :/
[HTC Desire S] t0bb:
that's ok. Unlock is only unlock. try this tutorial. It's for a complete root with downgrade.

http://androidforums.com/desire-s-all-things-root/730501-how-downgrade-desire-s-hboot-98-a.html

i apologize to admins if this link isn't allowed :/
[HTC Desire S] KotasMan:
again

1. ERROR[155]: Update memory error

2.A. Application ROM Update Utility can't update your Android phone

2.B. Get the right application ROM Update Utility and try again

3.A. For more information, click on "View Readme".

3.B Click the "Repair" button to start the repair process

4.A. View ReadMe

4.B. Repair

Have i branded device?

Image is in attachments
[HTC Desire S] chninkel:
Check your cid:

fastboot getvar cidnum

Ful list of cid attached.
[HTC Desire S] spykaran:
Close Htc sync from tray. As abd.exe of htc sync is already running, it gives u above error..

Let me know wt happens.
[HTC Desire S] hboot.xda:
htc desire s hboot 2.0.2 s-on unlocked

i hope if you can explain how to downgrade 2.0.2 to 0.98.00 better than than coz i don't understand it at all please,,i need some help and it will be amazing if you did video on you tube,thank you so much sir.
[HTC Desire S] hboot.xda:
downgrade

can you please do video about downgrade, explain it better coz i am always dont know how can i save that files in folder c the typ the folder name in cmd at the end to do it,i hope if you can give me some help.thank you
[HTC Desire S] hboot.xda:
how come dev gys careing about new phones which is already got the best performens and new systems insted they should care to old phones which are needs more update in both ways, till now no one in the world dont do 1 video to downgrade htc desire s,,..you are on the wrong ways gys.
[HTC Desire S] 0928094096:
In my opinion it should not Dowgrade Hboot,

HBOOT error possibility is quite high
[HTC Desire S] hboot.xda:
For this reason we need someone do the video to downgrade it and to make sure its able, is there someone in the world can do it ?
[HTC Desire S] Pongino88:
Thank you so much to mtothearkus and paulie-uk.

I've followed steps described by mtothearkus pn 1st post and downloaded links from this post.

To download from github simply click with dx mouse button and save as.. instead of simply clicking it (this will give you an error).

If you use misc_version_universal.zip, after extraction rename it to misc_version, otherwise adb command will not find it.

Successfully downgraded HBoot 2.00.0002 to 0.98.00000 on an HTC Desire S with blocked bootloader and S-ON.

As stated on 1st post to root your phone use http://revolutionary.io and follow every steps described here
[HTC Desire S] sylarteo:
I'm stuck with the misc_version unable to downgrade

My Desire S is now unlock but still with S-on after using the HTCDev method. It does not have any OS in it after the wiping it, somehow it just boots into HTC white screen or TWRP recovery. I remember it was S-off after HTCDev method but I think HTC turns on the S-ON it when it detected I was installing a custom Rom. Sad thing I forgot to do a nandroid back-up.

I have TWRP Recovery on it, so I'm sure I have root privileges and also my ADB command line shows # sign. So that means I don't have to use zergRush file. I can boot into recovery and adb can recognize it as an HTxxxx recovery device.

I was able to push the misc_version to a folder but running ./misc_version -s 1.27.405.6 or from windows command prompt adb shell /directory/misc_version -s 1.27.405.6 gives me a message sbin/sh: /directory/misc_version: not found. If I do ls command inside the /directory I can find the misc_version, so I'm sure I pushed the file into that directory. Don't know if there is an additional word command like run or something. Please help. I tried different searches to find an answer to this step, but I think I've already reach a point where I already need to ask someone for help. I know that I'm almost at the last step so I can run the revolutionary.io
[HTC Desire S] zeus.lny:
http://xdaforums.com/showthread.php?t=1318919

have a look at the thread, it might help , misc copy is attached there.....
[HTC Desire S] sylarteo:
Got stuck in RUU

Thank you very much for the thread, succeeded to change the misc_version to a lower version and managed to relock the phone using fastboot. Apparently my error there was I copied only one misc_version file from the folder, I should have pushed the 5 files in the misc_version folder.

I have a new problem. When I ran the RUU saga HTC europe 1.28 version I got an error customer ID 131. I've search it and it would mean I have wrong RUU version. I live in Asia and when I searched for a official asian rom, I managed to find a RUU_rom 1.48 but somehow can't be downloaded in hotfile.com since US gov't shut it down permanently. Do you know where I can find other rom repositories? How do I look for the right compatible RUU for it? I thought my troubles were over. Thanks again for helping out.
[HTC Desire S] sylarteo:
Downgrade Success

Finally got a HTC RUU compatible asian rom, I found it at androidruu.com. Now my nightmares are over. My HBOOT NOW IS 0.98.002. Finally got Carbon Custom Rom 4.3 to my Desire S. Just one question, do I need to upgrade the radio? Is it safe?
[HTC Desire S] zeus.lny:
its better to update radio to latest version.
[HTC Desire S] sylarteo:
Radio or Mic issue

Thanks for the tip. I have microphone or radio issues when I used carbon custom rom, it has this high pitched sound which you will hear from the other end of the phone when calling someone, Read several articles about it, they say just change to a more stable rom, but most of the time custom roms haven't fully solve the problem. Some say custom rom builders should use the orginal microphone ID (driver) of the original phone (HTC Desire S). One article goes on to say that custom rom makers modify microphone ID each time. Wonder if changing radio will solve it, or wait for a more stable rom. What Rom are you using? Is it super stable with no issues? I'm really waiting for a custom KitKat Rom with no issues at all. After that, I think my Desire S can rest its laurels, as it served me well.
[HTC Desire S] zeus.lny:
Custom Roms are always with Some bugs here or there.... always read OP when using one... and always read the posts, many issues can be resolved in this way.... i updated my radio and firmware using this link

http://xdaforums.com/showthread.php?t=1860253&highlight=radio

'We have currently 2 working Kitkat builds for DS, with Bugs on both of them but both can be used as daily drivers.. try them both and use it as per ur likeness

http://xdaforums.com/showthread.php?t=2031694

http://xdaforums.com/showthread.php?t=2543878
[HTC Desire S] sylarteo:
Stable Rom

Thanks! Read through the forums, my radio is uptodate since I came from stock ICS, so no need to update. Also I opted for Flinny's CM 10.1 build 22 since I think it is more mature. Tested it so far stable, battery improved alot when you compare to early builds. The high pitch noise not present anymore and speaking voice sound is crisp clear. Bluetooth file transfer works like a charm. Camera settings though not as good as the stock camera of the HTC, It's good enough for daily drive. Looking forward to use future kitkat builds.
[HTC Desire S] teadrinker:
Because revolutionary only works on hboot 0.98
[HTC Desire S] mugen_dz:
Didn't worked !

---------- Post added at 07:19 PM ---------- Previous post was at 07:17 PM ----------

Didn't work ! didn't have the # at the end
[HTC Desire S] manish_k_yadav:
Adb: Permission Denied (0x00017118)

I got this :

Adb & Fastboot Files

misc_version_01.zip

zergRush

RUU_Saga_HTC_Europe_1.28.401.1

Here is the error details, as I proceed with the command Prompts with Admin Rights, (Antivirus + Firewall Disabled)

-----------------------------------------------

Microsoft Windows [Version 6.2.9200]

(c) 2012 Microsoft Corporation. All rights reserved.

C:\Windows\system32>cd C:\Android\android-tools

C:\Android\android-tools>adb push zergRush /data/local/tmp

push: zergRush/zergRush.c -> /data/local/tmp/zergRush.c

push: zergRush/COPYING -> /data/local/tmp/COPYING

2 files pushed. 0 files skipped.

975 KB/s (49967 bytes in 0.050s)

C:\Android\android-tools>adb push misc_version /data/local/tmp

push: misc_version/misc_version.c -> /data/local/tmp/misc_version.c

push: misc_version/misc_version -> /data/local/tmp/misc_version

push: misc_version/gopt.h -> /data/local/tmp/gopt.h

push: misc_version/gopt.c -> /data/local/tmp/gopt.c

4 files pushed. 0 files skipped.

161 KB/s (31399 bytes in 0.190s)

C:\Android\android-tools>adb shell chmod 777 /data/local/tmp/zergRush

C:\Android\android-tools>adb shell chmod 777 /data/local/tmp/misc_version

C:\Android\android-tools>adb shell

$ cd /data/local/tmp/

cd /data/local/tmp/

$ ./zergRush

./zergRush

[**] Zerg rush - Android 2.2/2.3 local root

[**] (C) 2011 Revolutionary. All rights reserved.

[**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew.

[+] Found a GingerBread ! 0x00017118

[*] Scooting ...

[*] Sending 149 zerglings ...

[*] Sending 189 zerglings ...

[-] Hellions with BLUE flames !

$ adb shell /data/local/tmp/misc_version -s 1.27.405.6

adb shell /data/local/tmp/misc_version -s 1.27.405.6

adb: permission denied

$

--------------------------------

My Device Details:

*** UNLOCKED ***

SAGA PVT SHIP S-ON RL

HBOOT- 2.00.0002

RADIO- 3822.10.08.04_M

eMMC-boot

Aug 22, 2011, 15:22:13

Android Version: 2.3.5

HTC Sense Version: 3.0

Software Number: 2.10.401.9

Kernel: 2.6.35.10-g9ac6c7a

htc-kernel@and18-2#1

Baseband Version: 20.4801.30.0822U

Build Number: 2.10.401.9
[HTC Desire S] NiXEGaming:
guys, i already have root and s on unlocked , cyanogen mod 11 with root, and twrp 2.8.1.2...

do i have to degrade to all stock before i do this?
[HTC Desire S] Saf98:
Yh I if u want s off then u need to downgrade hboot and I think u have to be in stock. I havnt tried this method. I had to unlock bootloader first to be able to flash recovery Abd root and then after there's the downgrading part.
[HTC Desire S] amidabuddha:
In his case the exploit is not printing the typical success message (that is why I gave him a link to the ZergRush thread), neither reboots but he can check with "su" - he may have gained root eventually
[HTC Desire S] Fz.hary:
nope, access denied.

seems zergrush didn't work in my phone.

desire s unbranded.

try to shell root with zergrush with SOC seems didnt work too.
[HTC Desire S] spajdo:
Hi guys, I have one stupid question.... where can I find misc_version and zergRush?

And second stupid question... can I brick my phone with this guide?

Thanks for answers :)
[HTC Desire S] foX2delta:
inside the downgrade.zip.........................................

Shouldn't brick it, but ANYTHING like this potentially can brick your phone.
[HTC Desire S] mtothearkus:
See my post on third page (#26 i think)
[HTC Desire S] Pinball_:
The RUU_Saga_HTC_Europe_1.28.401.1_Radio_20.28b.30.0805U_38.03.02.11_M_release_177977_signed.exe is not availiable for download , anyone know another location to get it from ?
[HTC Desire S] amidabuddha:
You can always use search :)

click
[HTC Desire S] Pinball_:
Cheers, appreciated !
[HTC Desire S] foX2delta:
Here

http://www.multiupload.com/DU9ZRSH5BE
[HTC Desire S] Pinball_:
Im not getting anywhere with this , im unable to push zergRush

i get "cannot stat 'zergRush' : No such file or directory.

Files are in the correct location.

I am also unable to adb remount , that gives permission denied :rolleyes:
[HTC Desire S] mtothearkus:
if it is in the correct folder you have a misspelling. be aware of big and small caracters!
[HTC Desire S] aliishere:
not workin

$ cd/data/local/tmp/

cd/data/local/tmp/

cd/data/local/tmp/: not found

any suggestion?????
[HTC Desire S] amidabuddha:
there is a space between "cd" command and the path:

cd /data/local/tmp/
[HTC Desire S] killogre:
I followed you procedure, and it worked like a charm!

Thank you mtothearkus - you're a life saver!
[HTC Desire S] naresh_gp:
Hey,

This looks interesting...

When booting my desire s there is e vodafone logo.

My current software is 2.10.161.3 , Hboot 2.00.0002.

Which RUU should i use for downgrading ? RUU​_Saga​_Vodafone​_UK_1​.32.161​.1 ?

Where can i find a usable wwe RUU ?
[HTC Desire S] gefilus:
I just rooted a desire s with 2.00.0002 Hboot and of worked like charm. I rooted it with HTC supertools v2
[HTC Desire S] naresh_gp:
So u just followed steps 1 and 2, and u gained root?
[HTC Desire S] gefilus:
but i think you need to get unlock bootloader, i have it so i took step 1 and then step 2 then reboot and i got root, i have all stock no custom recovery or what! i needed only root nothing more write now! but it works
[HTC Desire S] naresh_gp:
yes, you are right....... it works.

but no full root.
[HTC Desire S] spajdo:
thank you very much.... this guide works for me..... I have HBOOT 0.98.000 now.... super....
[HTC Desire S] amidabuddha:
What do you mean with "no full root"?
[HTC Desire S] linkin8k:
Hi, i have been having problems with this su thing because anytime i use it it say su not found but in adb shell i see# not $ meaning my device is rooted right? So my question is can i use this code here to unroot my phone so i can re-root properly. thanks
[HTC Desire S] scan6:
sme here :confused:
[HTC Desire S] amidabuddha:
You don't need to su (switch user) once root (# prompt)
[HTC Desire S] linkin8k:
Amidabuddha am asking this because of i can't change my misc version ask you instructed me in the other thread. That's why am asking if re-rooting is a better option for my ds.
[HTC Desire S] amidabuddha:
Ok. First - there is no such thing as re-rooting. You either have or not have root access.

To change misc_version see post #26 of this thread. The OP described everything very nice in details.
[HTC Desire S] linkin8k:
By re-rooting i mean unroot then root. I did what the OP said, this is what i get:

c:\TEMP>adb push zergRush /data/local/tmp

adb server is out of date. killing...

* daemon started successfully *

1251 KB/s (23060 bytes in 0.018s)

c:\TEMP>adb push misc_version /data/local/tmp

1189 KB/s (15837 bytes in 0.013s)

c:\TEMP>adb shell chmod 777 /data/local/tmp/zergRush

chmod: /data/local/tmp/zergRush: Not a directory

c:\TEMP>adb shell chmod 777 /data/local/tmp/misc_version

chmod: /data/local/tmp/misc_version: Not a directory
[HTC Desire S] amidabuddha:
try

adb shell mount /data

before chmod
[HTC Desire S] linkin8k:
Tried it. Still a problem:

c:\downsaga>adb push zergRush /data/local/tmp

1125 KB/s (23056 bytes in 0.020s)

c:\downsaga>adb push misc_version /data/local/tmp

96 KB/s (4930 bytes in 0.050s)

c:\downsaga>adb shell mount /data

c:\downsaga>adb shell chmod 777 /data/local/tmp/zergRush

chmod: /data/local/tmp/zergRush: No such file or directory

c:\downsaga>adb shell mount /data/local/tmp

mount: can't find /data/local/tmp in /etc/fstab
[HTC Desire S] tpbklake:
You need to do the adb shell mount /data before the adb pushes, not the adb chmod
[HTC Desire S] linkin8k:
Thanks the mount before the pushes helped remove the "Not a directory" error but still not there yet, please help:

c:\TEMP>adb shell chmod 777 /data/local/tmp/zergRush

c:\TEMP>adb shell chmod 777 /data/local/tmp/misc_version

c:\TEMP>adb shell

~ # cd /data/local/tmp/

cd /data/local/tmp/

/data/local/tmp # ./zergRush

./zergRush

/sbin/sh: ./zergRush: not found

/data/local/tmp # ./misc_version -s 1.47.415.1

./misc_version -s 1.47.415.1

/sbin/sh: ./misc_version: not found

/data/local/tmp #
[HTC Desire S] amidabuddha:
Try this. Open cmd and type the commands as they are below one after another:

adb shell
mount /data
md /data/local/tmp
exit
adb push zergRush /data/local/tmp
adb push misc_version /data/local/tmp
adb shell
chmod 777 /data/local/tmp/zergRush
chmod 777 /data/local/tmp/misc_version
cd /data/local/tmp
./zergRush
[HTC Desire S] shadi22:
No good!

,, Temp root doesn't seem to work on my device.. Gives me the Hellions with Blue Flames Thing!... waiting for Revolutionary update..:(

---------- Post added at 03:23 PM ---------- Previous post was at 02:51 PM ----------

Doesn't work also....

:(
[HTC Desire S] amidabuddha:
Try this it may work
[HTC Desire S] shadi22:
Nope

dont work..just rebooted the phone.. and when i check su.. its not rooted
[HTC Desire S] mtothearkus:
as it looks here you already have root (because of the #), did u do any other things?
[HTC Desire S] thoriig:
this guide works great! thank you
[HTC Desire S] bam82:
Sorry if its a silly question but just trying to get my head round all this.

Why not just use HTCDev.com to unlock bootloader?
[HTC Desire S] amidabuddha:
What are the consequences of unlocking the bootloader at htcdev.com:

1) you are telling HTC officially and directly that you are voiding your warranty! No more claims for software problems - your warranty is void, sorry!

2) you have to flash the Kernel separately for each installed ROM - not a big deal, but annoying

3) you cannot change your bootloader and radio (not necessary now, but after some time - who knows?) If the ROMs become bigger we would need more space, which will require custom partitioning scheme, which means new bootloader

Personally I used this guide mostly because of point No.1

It worked perfectly, big thanks to mtothearkus.
[HTC Desire S] stelian4791:
[PROBLEM]

:confused::confused::confused: I have a problem ... i did all just like you posted , i readed all the pages with all the problems , i watched all the prints and none of them is like mine . i heve 2.3.5 and the version es 2.10.161.3 branded . i can*t make prints but i can write what it says after I complete step 5 from post #26 :

[**] Parts of code from Gingerbreak, <C> 2010-2011 The Android Exploid Crew.

[-] Cannot copy boomsh.: Permision denied

Please answer . Thx :confused:
[HTC Desire S] WOEHAA:
I have trying different methods also ... because I was "stupid" enough to have HTC upgrade me to 2.3.5 and Sense 3 with the HBOOT 2.00.0002

Concerning the HTCDev ... that's more like HTC"Deaf" because I got still no reply (registration activation) from those ppl and I have tried with three different usernames & mailaccounts combo's

Anyone more luck with HTCDeaf .. euh .. HTCDev?

[edit]

After attempt #5 I finally get a response.

Note: registration goed wrong when you try that behind a corporate firewall, even (and that's the silly part) when the registration is so called a succes. Your request will simply not be transferred through the rest of their system, meaning no confirmation e-mail is being send
[HTC Desire S] stelian4791:
plssssssssssssssssss
[HTC Desire S] linkin8k:
Didnt work, see what i get:

~ # mount /data
mount /data
~ # md /data/local/tmp
md /data/local/tmp
/sbin/sh: md: not found
~ # exit
exit

c:\TEMP>adb push zergRush /data/local/tmp/
363 KB/s (23060 bytes in 0.062s)

c:\TEMP>adb push misc_version /data/local/tmp/
291 KB/s (15837 bytes in 0.053s)

c:\TEMP>adb shell
~ # chmod 777 /data/local/tmp/zergRush
chmod 777 /data/local/tmp/zergRush
~ # chmod 777 /data/local/tmp/misc_version
chmod 777 /data/local/tmp/misc_version
~ # cd /data/local/tmp
cd /data/local/tmp
/data/local/tmp # ./zergRush
./zergRush
/sbin/sh: ./zergRush: not found
/data/local/tmp # ./zergRush/
./zergRush/
/sbin/sh: ./zergRush/: not found

---------- Post added at 01:03 AM ---------- Previous post was at 12:03 AM ----------

No i didnt. I just want my phone to work again....still stuck at htc white logo:(
[HTC Desire S] shadi22:
zegRush

i think this method doesnt work on latest update with software version 2.15?.. temproot cannot be achieve on the latest software.. it may work on 2.10.. anyone can confirm this?:confused:

PS.

can you guys put the device details of your phone and if this method works for you..

---------- Post added at 03:45 AM ---------- Previous post was at 03:33 AM ----------

Try this http://androidforums.com/3522796-post454.html..
[HTC Desire S] bam82:
Thanks Amidabhudda

Point 1 is a BIG reason for using this method! Thanks for your help.

Need to read a few more times to fully understand each step but will go ahead soon.

Have just upgraded to Desire S from Desire wish I hadn't accepted OTA update 1st time I turned phone on!
[HTC Desire S] amidabuddha:
Just for your information the Revolutionary guy that posted the exploit says that HTC patched this break in their system in November. So all the regions that had the update in the middle of December or later will get the "Blue flames". Sorry for the bad news :(
[HTC Desire S] bam82:
Would this explain why I am getting this message?

Microsoft Windows [Version 6.1.7600]

Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Brian>cd/users/brian/downloads

C:\Users\Brian\Downloads>adb push zergRush.c /data/local/tmp

1088 KB/s (14157 bytes in 0.012s)

C:\Users\Brian\Downloads>adb push misc_version data/local/tmp

1607 KB/s (589849 bytes in 0.358s)

C:\Users\Brian\Downloads>adb shell chmod 777 /data/local/tmp/zergRush.c

C:\Users\Brian\Downloads>adb shell chmod 777 /data/local/tmp/misc_version

C:\Users\Brian\Downloads>adb shell

$ cd /data/local/tmp/

cd /data/local/tmp/

$ ./zergRush.c

./zergRush.c

./zergRush.c: /acct: permission denied

misc_version: permission denied

misc_version: permission denied

misc_version: permission denied

misc_version: permission denied

./zergRush.c: 6: Syntax error: "(" unexpected
[HTC Desire S] mtothearkus:
You pushed the source file not the b binary! Of zergRush
[HTC Desire S] bam82:
Ok but how do I push the binary? I tried pushing zergrush first and it said file not found. There was only one file in the folder I extracted
[HTC Desire S] mtothearkus:
Then you downloaded just the source, look for the binary/executable in the thread!
[HTC Desire S] bam82:
Duh, cheers!

Will try again when I get a chance, busy being a dad just now!
[HTC Desire S] linkin8k:
Please i used the md code and it still says Zergrush not found.
[HTC Desire S] mtothearkus:
And what do you want with md? Read again and try....
[HTC Desire S] WOEHAA:
I guess the warning in the first post with regard to updates prior/after Nov. 2011 is true in my case.

I had my update half way November and this method does not work for me.

Nevertheless many thanks for sharing all of this :)

i am now trying to get my Saga unlocked/unrooted/s-off via the HTCDev method, etc
[HTC Desire S] amidabuddha:
Try

mkdir /data/local/tmp

still confusing the DOS and the Linux versions
[HTC Desire S] bam82:
Worked a treat for me! Thanks a lot for this guide!
[HTC Desire S] Harris_xx:
yes it works!

Got my new unbranded DS today with 2.3.5 and Sense 3 with the HBOOT 2.00.0002

Build 2.10.401.xx

I used the guide succesfull to downgrade!

THX a lot!!!!!!!!!!!! :)