How do you extract a ROMs contents? - 8525, TyTN, MDA Vario II, JasJam ROM Development

I read the wikis but now I am even more confused then before. Do I need Pandora kitchen to decompile? Can someone direct me to the specific application as I know it can be done. I wanted to extract some cab files from the Schaps ROM but not sure how to go about this.
Thanks.

Use Pandora to build your own ROM from scratch, but use CorePro to work on a ROM you've downloaded and wish to add to (or cut down).
Remember that the only place you're likely to find cabs is in the extended ROM though - a ROM doesn't tend to contain cabs.
Enjoy.

Related

Ripping .cabs from other ROMS

I have searched for the last 2 hours and cannot come up with a good answer.
I have a collection of various ROMS that people have cooked up, for instance Blinky and others. There are some items I would like to grab from these ROM sets and either make my own or install a ROM and install these other file individually from the .cab files.
I guess the question is how would I go about tearing apart the .nbh file so I could get what I wanted from it?
ThanX in advance.
Use ROMDonalds kitchen to extract whatever you want out a ROM. Use the signature link before to search for the Kitchen!

[TUT]ROM for everyone (video tutorial to cook the ROM )

Hi all
I was looking for the way to cook my own ROM. There is a heaps of info for a Kiser but not a Diamond. I had decided to start a thread that will show and explain in plain language how to do it on the Diamond. The aim is to have perfectly clean ROM without any unwanted applications or tweaks. The ROM will only contain bare minimum to run PDA. Everything else can be installed with cab files. Also registry tweaks can be applied after installation.
What is more important I want this thread to be a simple to follow guide to cook a ROM so everyone can make one for themself. Since I’m not an expert I welcome any help from anyone.
I had managed to cook my 1st ROM. I had removed some applications without modifying anything else.
I have tested it and it worked ok. However you perform it on your own risk and I take no responsibility if you stuff it up. Do not remove everything at once. Remove 2-3 application and see if it works. If yyou unsure just leave it alone. When you are confident you can remove the rest of apps. Also if you want to remove Opera and TouchFlo you need to change a setup files so lets leave it for now.
You need a Kitchen and the ROM file.
Video Tutorial (rigt click and Save target as)
Extract kitchen files directly to C drive (not to desktop as shown on the screen shot)
IMAGE
Extract rom files into BaseROM folder in the kitchen.
IMAGE
Open !BEGIN and choose option 1
IMAGE
Just follow the prompts and press ENTER when asked. When you get to screen below just wait till asked to press ENTER again. This might take a while.
IMAGE
When you arrive to this screen
IMAGE
your rom preparations are complete.Hit the ENTER to close window.
Go to Kitchen folder and you notice that rom files and packages are extracted.
IMAGE
To remove unwanted applications from rom look into OEM and SYS folders. You need to delete all folders related to paticular application. (create separate folder and move all packages there instead deleting. Later on you can convert them to .cab files and install them if needed)
IMAGE
If you have some cab files and would like to add them into the rom you will need THIS application. Just start it, make sure that Remodule option is deselected, open cab file and program will create new folder containig packagage file. Make shure that PACKAGE_Diamond_ is in front of the filename. For example if you converted TomTom cab you should rename it to PACKAGE_Diamond_TomTom. Now copy the folder to OEM folder in the kitchen. Repeat process till you add everything you would like to have in the ROM.
When you delete/add everything you want start !Cook file
IMAGE
This will start OS building application. Just hit a green button and wait till it finishes. It will create os-new.nb file needed later. Close window on top (never close a DOS window) and rom building application will start.
IMAGE
Fill all the info as shown on the screenshot.
IMAGE
Use apropriate version rom (ie FR, ME etc...). As for the system select os-new.nb which is in the kitchen folder. Also you can select boot images and radios but for now we leave as it is. When ready hit Build ROM button.
Name your new rom (anything you want).
IMAGE
And hit SAVE.
A while later you should see screen below
IMAGE
Hit OK. Wait till everything finishes. Just press ENTER when asked. On the end you get message that rom is ready to flash. Hitting ENTER closes a window. All you need to do is flash it to your device.
PS Everyone is welcome to help. I need information how to update Framework and OS and where I can download it. Please post suggestions, registry tweaks and links to updated cab files for the apps removed from the rom. I will make a video tutorial after I have all info needed. I want to make easy for everyone who wants to have personalized rom.
Credits: Thank you to all who provided these great tools and these that helped in this thread.
EDIT: If you manage to create your own ROM please do not flood forum with new ROMs (unless it is something we never seen). There are experienced cooks that created really nice ROMs. Lets keep this forums clean.
There is a thread in this forum which has a simple to use kitchen. Using it is just easy as Steps 1-2-3.. But it doesn't work for some ROMs, atleast for me. By far, it is a great tool simplified in batch files.
Are you using the same tool or your own customised one?
Regards,
Carty..
lolek74 said:
Hi all
I was looking for the way to cook my own ROM. There is a heaps of info for a Kiser but not a Diamond. I had decided to start a thread that will show and explain in plain language how to do it on the Diamond. The aim is to have perfectly clean ROM without any unwanted applications or tweaks. The ROM will only contain bare minimum to run PDA. Everything else can be installed with cab files. Also registry tweaks can be applied after installation.
What is more important I want this thread to be a simple to follow guide to cook a ROM so everyone can make one for themself. Since I’m not an expert I welcome any help from anyone.
I had managed to cook my 1st ROM. I had removed some applications without modifying anything else.
I'm off to bed now. I'll post screenshots and info tomorrow. Please register your interest.
Click to expand...
Click to collapse
Could do my... i just finished my one yesterday a perfect clean rom not staffed wth litter....i used the surface kitchen and based on ce 0s 5.2 20273 wwe a bit customized the manila that's all....
Is it a clean ROM with most apps removed? Do you want to share please.
Good initiative!
I really want to know what is the true performance of the Diamond, running it with just the minimum required.
Even when disabling TF3D and other extras, I find it so slow compared to other WM phones having less MHz... I just don't understand why.
Uploading my ROM now. It is slow. I will post the link tomorrow.
Just a tip, A clean rom is very good if you going to stick with what you got in the rom and possible a few otther apps by cabs, If your going to installed the same apps which are in a full rom then the clean rom with those apps in will make you lose valuable storage space rather than them cooked in and sometimes device will start to feel sluggish but it all depends on how many cabs youre going to re-install.
TIps , there are certain apps which are cooked in doesnt take up any storage space but if install by cab you will then use up valuable space.
duttythroy said:
Just a tip, A clean rom is very good if you going to stick with what you got in the rom and possible a few otther apps by cabs, If your going to installed the same apps which are in a full rom then the clean rom with those apps in will make you lose valuable storage space rather than them cooked in and sometimes device will start to feel sluggish but it all depends on how many cabs youre going to re-install.
TIps , there are certain apps which are cooked in doesnt take up any storage space but if install by cab you will then use up valuable space.
Click to expand...
Click to collapse
Really? Dutty, could you please explain that a little bit further? Don't we have a set amount of storage space? i.e. If you cook some apps in, then you lose some of that space. If you add them later, you lose some of that space. But at least you could uninstall them.
So please correct me if I have misunderstood and I'm only guessing, but are you saying there is a part of the ROM that is only available to the OS 'image', and cannot be accessed in the normal way once the device is up and running? And are you using that space to install some apps? If so, how much space in the 'OS image' part of the ROM is available for that purpose? I would like to start cooking my own ROM's, but I don't want to waste ANY storage space that I am not forced to.
I would really appreciate if you could shed a little light on that for me! Cheers
Thanks, this is great.
salada2k said:
Really? Dutty, could you please explain that a little bit further? Don't we have a set amount of storage space? i.e. If you cook some apps in, then you lose some of that space. If you add them later, you lose some of that space. But at least you could uninstall them.
So please correct me if I have misunderstood and I'm only guessing, but are you saying there is a part of the ROM that is only available to the OS 'image', and cannot be accessed in the normal way once the device is up and running? And are you using that space to install some apps? If so, how much space in the 'OS image' part of the ROM is available for that purpose? I would like to start cooking my own ROM's, but I don't want to waste ANY storage space that I am not forced to.
I would really appreciate if you could shed a little light on that for me! Cheers
Click to expand...
Click to collapse
bascally there some programs which ar cooked in for e.g Remote desktop, If cook this in its 1.45mb I think, I will only use up only about .45mb and save 1mb of storage space, If i install this by cab I would use up all of the 1.45mb storage space
Perfect
I was hoping/loocking fopr a thread like this! BUT
Could anybody explaine to me how to dump a rom?
The one I am using right now is pretty good and I want to modify
it and loose all the unwanted programs...
But what happens to all the .cab programs I have installed at the moment?
Do they "get dumped" as well so I can preserve them as OEM? Or do I only dump the "base ROM"?
And what about the Reg tweaks? Do they get dumbed aswell?
Thanks for the help...
bascally there some programs which ar cooked in for e.g Remote desktop, If cook this in its 1.45mb I think, I will only use up only about .45mb and save 1mb of storage space, If i install this by cab I would use up all of the 1.45mb storage space
Click to expand...
Click to collapse
Thanks for the reply, so what is the reason behind that... How can that 1MB be shaved off? Is it compression?
duttythroy said:
bascally there some programs which ar cooked in for e.g Remote desktop, If cook this in its 1.45mb I think, I will only use up only about .45mb and save 1mb of storage space, If i install this by cab I would use up all of the 1.45mb storage space
Click to expand...
Click to collapse
And to top this, apps that are cooked run faster than an installed cab.
But for some, a ultra light rom works becouse they have not ,uch progs to use, and need to install less cabs.
gr.
Just a short notice, lolek:
I see you've extracted the kitchen to your profile folder.
You'd better extract it to the root of your drive, like C: or D:
batch files have a tendency to disliking spaces in file/folder names as well as names longer than 8+3.
surface_rom said:
And to top this, apps that are cooked run faster than an installed cab.
But for some, a ultra light rom works becouse they have not ,uch progs to use, and need to install less cabs.
gr.
Click to expand...
Click to collapse
exactly also if you look at some of the benchmarks as well the lite roms are not much better or even some of the full roms are faster, so its all about what u really need in the rom, if your going to install everything back in your rom with cabs, its better to go with a full rom
Thanks for the input. This is what I was hoping for. The aim is to have simple tutorial for anybody to create their own ROMs. I'm off to work tonight but I'll update 1st post tomorrow.
I have updated 1st post. It shows how to convert cab files to packages and add them to the rom. I apologize for the slow progress but I'm still learning myself.
I have asked around how to update framework and OS. As soon as I get reply and test it I’ll post it here.
I know there many experienced cooks so please don’t be shy and help create this guide.
When guide is complete I’ll make movie showing whole process.
lolek74 said:
I have updated 1st post. It shows how to convert cab files to packages and add them to the rom. I apologize for the slow progress but I'm still learning myself.
I have asked around how to update framework and OS. As soon as I get reply and test it I’ll post it here.
I know there many experienced cooks so please don’t be shy and help create this guide.
When guide is complete I’ll make movie showing whole process.
Click to expand...
Click to collapse
very nice man, keep it up!
this is very good idea to put together a tutorial to cook the ROM! cant wait to cook my own ROM with this.
thanks a lot man!
Having a Slight problem with the surface kitchen.
During the process of extracting a rom at the stage of '2a.ExtractDumpIMGFS.cmd'
'Recmod.exe' crashes.'
anyone know why and how i can solve this?
Thanks in advance

[Q]Replace/update OEM packages and other issues...

First of all I'm sorry for my english, hope you can understand me...
I'm going to cook my first ROM...
The idea is to make 2 versions (with/without manila) of a clean "uc capable" rom; what I want to do is take a 1.93 official base and update some oem app and sys (i.e. htc camera and netcf) and remove some others to replace theese with 3t part usefully app (i.e. putting in wktask manager instead htc task).
Now my doubts:
(I've readed a lot of wikies and thread but didn't find a CLEAR answer to all my questions)
1- If I use an official .exe rom as base I obiouvsly find inside it the radio part...have to remove this befor but in base folder due i don't need it for my work? How?
2- I'm able to remove oem pack from my rom base and I'm also able to repack new ones starting from a cab file...but I don't know if it's possible to take (exactly as they are) some oem pack from a stock/custom(when not protected) rom to use in mine...I saw that a lot of cookers use oem pack taken from raphael official roms to update thair roms and I would know if the process to do this is just open the rom, copy the oem and past it in mine... In this case...where can I find a good very update raphael rom?!
3- Opposite than this, for manila I would use the "animated switches" version. I want to downgrade it to the version with theese animations but I don't know if there's a particular process to replace this oem...can you tell me? PS: what is the exact manila version I need to do it?
4- TO UPDATE NETCF TO THE 3.5 VERSION WHAT HAVE I EXACTLY DO? And is the Alexandre's oem pack good for my pourpose?
Thank you a lot and sorry if (maybe) some questions were answered in other threads...I searched and readed a lot but there are too many informations in this forum for a noob/bad english speaker/... like me so I decided to ask!
GriFolle said:
First of all I'm sorry for my english, hope you can understand me...
I'm going to cook my first ROM...
The idea is to make 2 versions (with/without manila) of a clean "uc capable" rom; what I want to do is take a 1.93 official base and update some oem app and sys (i.e. htc camera and netcf) and remove some others to replace theese with 3t part usefully app (i.e. putting in wktask manager instead htc task).
Now my doubts:
(I've readed a lot of wikies and thread but didn't find a CLEAR answer to all my questions)
1- If I use an official .exe rom as base I obiouvsly find inside it the radio part...have to remove this befor but in base folder due i don't need it for my work? How?
2- I'm able to remove oem pack from my rom base and I'm also able to repack new ones starting from a cab file...but I don't know if it's possible to take (exactly as they are) some oem pack from a stock/custom(when not protected) rom to use in mine...I saw that a lot of cookers use oem pack taken from raphael official roms to update thair roms and I would know if the process to do this is just open the rom, copy the oem and past it in mine... In this case...where can I find a good very update raphael rom?!
3- Opposite than this, for manila I would use the "animated switches" version. I want to downgrade it to the version with theese animations but I don't know if there's a particular process to replace this oem...can you tell me? PS: what is the exact manila version I need to do it?
4- TO UPDATE NETCF TO THE 3.5 VERSION WHAT HAVE I EXACTLY DO? And is the Alexandre's oem pack good for my pourpose?
Thank you a lot and sorry if (maybe) some questions were answered in other threads...I searched and readed a lot but there are too many informations in this forum for a noob/bad english speaker/... like me so I decided to ask!
Click to expand...
Click to collapse
1. When dumping a ROM, it will dump separately the splashes, radio, os and extrom (if any.) Extract the exe with WinRAR and dump the nbh.
2. When dumping a ROM, it will create packages if ROM is unprotected. A good place of finding a Raph ROM would be the Raphael forums.
3. Delete the old package from kitchen and replace with new one (in your case, the old one, animated).
4. You can find ready made NetCF 3.5 packages. You should delete the old NetCF 2 from SYS folder and replace it with the 3.5
tnyynt said:
1. When dumping a ROM, it will dump separately the splashes, radio, os and extrom (if any.) Extract the exe with WinRAR and dump the nbh.
2. When dumping a ROM, it will create packages if ROM is unprotected. A good place of finding a Raph ROM would be the Raphael forums.
3. Delete the old package from kitchen and replace with new one (in your case, the old one, animated).
4. You can find ready made NetCF 3.5 packages. You should delete the old NetCF 2 from SYS folder and replace it with the 3.5
Click to expand...
Click to collapse
Thanks a lot!
So, to replace OEM, just put out (from a rom) and put in (in mine)...so simple?!
Ahahah...
Please, excuse me for my stupidity...BUT I REALLY NEED AN HELP!!!
(I'm following this guide: http://forum.xda-developers.com/showthread.php?t=413782&highlight=kitchen)
Here's what I do:
1) I've downloaded from htc site the last official stock rom (localized for my country) \HTC Touch Diamond\QMR\RUU_Diamond_HTC_ITA_1.93.408.3_Radio_Signed_Diamond_52.29.25.12_1.00.25.05_Ship
2) I've extracted all files and putted them into Base ROM folder of surface kitchen.
3) clicked on begin and obtained some folders in the kitchwen one
Now if I go into one package folders in OEM (htc gesture in example) i can't see dsm or rgu files, but just dll and .provxml ones...WHY?! I don't think it's good, right? Where is my fault?!
SO SAD...
PS: I've searched a lot but I've not found a netcf prepared package to cook...
Thanks a lot!
GriFolle said:
Please, excuse me for my stupidity...BUT I REALLY NEED AN HELP!!!
(I'm following this guide: http://forum.xda-developers.com/showthread.php?t=413782&highlight=kitchen)
Here's what I do:
1) I've downloaded from htc site the last official stock rom (localized for my country) \HTC Touch Diamond\QMR\RUU_Diamond_HTC_ITA_1.93.408.3_Radio_Signed_Diamond_52.29.25.12_1.00.25.05_Ship
2) I've extracted all files and putted them into Base ROM folder of surface kitchen.
3) clicked on begin and obtained some folders in the kitchwen one
Now if I go into one package folders in OEM (htc gesture in example) i can't see dsm or rgu files, but just dll and .provxml ones...WHY?! I don't think it's good, right? Where is my fault?!
SO SAD...
PS: I've searched a lot but I've not found a netcf prepared package to cook...
Thanks a lot!
Click to expand...
Click to collapse
You have to create the packages!
Don't know the kitchen but it should be like this in every kitchen.
Also, you can check inside provxml file (notepad will do), maybe the rgu (registry entries) are set through provisioning.
tnyynt said:
You have to create the packages!
Don't know the kitchen but it should be like this in every kitchen.
Also, you can check inside provxml file (notepad will do), maybe the rgu (registry entries) are set through provisioning.
Click to expand...
Click to collapse
confused...
I think I have to create just the packages of apps I would to add...not even all the apps contained in the stock rom!
Looking and reading tutorials in this forum I understood that If I would (i.e.) add/rmv apps to my rom I've just to put its files in base rom and then (after extract all) add/remove what I want. Then rebuild.
But for all others teorically I don't do anything...Is this wrong?
PS: thank you for the previous reply

New Old style kitchen based on Bepe's tools

Hi here i release an OLD style kitchen based on Bepes tools
I have taken bepe's kitchen and created some batch files to make it a one click extract and one click build and flash
I was so used to the old style kitchens and when they stoped working (failing at xip extract) i was looking for something that worked that i could use easly.
I found bepes kitchen, and it was nearly the same so i ported the batch files from diamond kitchen 0.4 to make this.
this kitchen uses the new style packages but has the look and feel of the diamond kitchen 0.4
I am still looking for the package creater that makes these NEW style packages but can't seem to find it now so if anyone has it please drop me a link so i can include it in the kitchen tools
download link ---->
http://rapidshare.com/files/217781904/Kitchen.rar
Instructions
1 place you RUU_Signed.nbh in the baserom folder
2 click on !Begin
3 Dont touch anything until extraction is finished (approx 5-10minutes)
4 Modify your packages
5 click on !Cook
6 wait until the htc rom tool loads
7 select diamond in device, os.new.nb as the source OS and save as kitchen/RUU_Signed.nbh
8 close htc rom tool and Custom RUU flash tool will load
9 flash and enjoy
......
will this kitchen group the OEM and SYS files properly. im having difficulty in using the new format or everything's in SYS\MSXIPKernel folder.
Is the Rom dump protected after cooking?
DefJamz said:
will this kitchen group the OEM and SYS files properly. im having difficulty in using the new format or everything's in SYS\MSXIPKernel folder.
Click to expand...
Click to collapse
this dumps the rom into the OEM, SYS and ROM Folders if you want the EXT folder download Bepe's tool below OEM2EXT
RideTheTube said:
Is the Rom dump protected after cooking?
Click to expand...
Click to collapse
not had time yet to try and test if i can rebuild a cooked rom, will have a go tonight and post my findings.
This is Bepe's Kitchen automated by batch files so he is the best person to talk to about protection
sorry to be a little blunt but i am a noob when it comes to cooking that why i found something that worked for me and made it a little easyer to use,
Protected Rom? Almost Rom when rebuilding, it will delete all dsm file, so you can't use package tool.
ok i have now tried the flashing, and the cooked roms won't pass the splash screen page, not getting the device info in bottom right corner.
anybody there who uses bepe's kitchen mind having a look for me.
also i can't open a re-cooked rom
garymeg said:
ok i have now tried the flashing, and the cooked roms won't pass the splash screen page, not getting the device info in bottom right corner.
anybody there who uses bepe's kitchen mind having a look for me.
also i can't open a re-cooked rom
Click to expand...
Click to collapse
I had the same problem and it was a XIP "mess-up". however I can't help you more than this.
try asking here: http://forum.xda-developers.com/showpost.php?p=3575850&postcount=131
i simply do NOT understand why build a tool that deletes stuffs that are important for cooking. isnt rom cooking supposed to be an open project for ALL? i mean some chef have the donate button in their sigs. but their rom's locked. it isnt fair to those (like myself) trying to learn how to cook a rom. i mean, i try to compare official roms and custom roms insides. what are the difference. it's by comparing that people learn to differenciate. and i would say BAHHH to missing rgu and dsm files!!
My thoughts exactly... Alas...
it is ironic, that NONE of the chefs who lock roms/doesn't supply kitchen/ask for donation wrote the code themselves. In short - everybody operates on stolen/leaked or any other way obtained code.
Ok, there are authors who created tools. And those guys have full right (and reason) to ask for donations fro that - TOOLS.
Otherwise - it's just funny. it's like stealing a car, and then asking police to protect it....
no panic.
at normaly old style kitchens never delete dsm'S.
and if you delete manualy dsm'S, you get all files in folder.
i think, with protect rom it means, no recookable roms.
it stops at point 1 or in the first step by using BEGIN! with a message like
"rom is smaller/bigger than/at starts" or so. excuise me, i've forgot the exactly words.
for checking of recookable rom i checked it with "htcRIE_0.5.0.12.exe".
it shows you all files with oem/sys - folders. but the oem can be empty. you find the oem-files than in sys-folder.
these points are my thinks that i see/learned by beginning flashing and cooking until now. other people can see/learn other thinks so dont dismiss me, if you are not my oppinien - but you can dismiss my english
Htc rom tool
Is it possible to use this for the Fuze?
EDIT: I found HTC tools with support for more phones on this thread a couple posts down

How to install rom without RADIO

Can someone tell me how to install any extended ROM (i.e. ROM + Radio) without installing radio or in other words how to install the ROM part of the available ROM not the embedded radio.
All the cooked ROM's that i have seen here come with no radio. Because flashing the radio is one of the most risky things to do with your phone.
If you flash an original manufacture ROM it installs the radio with it. Unless you find the stripped version.
yes everything is true!!!
but... you can change the name of the shipped romd to .rar or .zip intead of exe....
Then extract just the Ruu_signed.nbh... paste it into a ruu wrapper folder and flash it... the ruu_signed nbh is just the rom...
If you saw inside of the shipped exe you will find maybe ms.nbh (extended ROM) radio.nbh ipl.nbh spl.nbh... so you dont need the others... this kind of tricj was implemented to the last shipped rom... the Stripped Att rom for HTC Hermes.
Thank you +Que. Sorry i am new to all this. Thank you for the clarification.
+ Que PPC said:
yes everything is true!!!
but... you can change the name of the shipped romd to .rar or .zip intead of exe....
Then extract just the Ruu_signed.nbh... paste it into a ruu wrapper folder and flash it... the ruu_signed nbh is just the rom...
If you saw inside of the shipped exe you will find maybe ms.nbh (extended ROM) radio.nbh ipl.nbh spl.nbh... so you dont need the others... this kind of tricj was implemented to the last shipped rom... the Stripped Att rom for HTC Hermes.
Click to expand...
Click to collapse
The radio is inside the ruu_signed.nbh, and you have to use something like duttys nbh tool to extract all the nb files, then put it back together without the radio.
Try it! here is the at&t shipped rom: http://www.4shared.com/file/9694978...3625023_6275_1540700_108_UOOS_SVN05_Ship.html
And dutty's nbh tool http://gator1032.hostgator.com/~boog/rom_stuff/nbhtool.7z
Thanks to all of you for giving answers, i donwloaded the nbhtool and extract the contents of the nbh file to a folder but when i go for making a nbh from nb files i become confused. wat'll be the version and signature size of the new nbh file, is it the version of the official rom and what'll be the signature ????
Being new, you shouldn't worry about trying to strip a rom yet. Get some reading and experience under your belt.
You can grab the at&t stripped rom from my signature (or search the forums, there are other places to get it as well), it has the radio removed.
And the cooked roms here in the forum do not have the radio, either.
If your really wanting to get into the guts of the rom, search for all the terms you see in the nbh tool (there might possibly even be a tutorial on it), and grab a few kitchens. The best way to learn is to mess it up a few times and have to fix it.
Maybe I could try to show you where things should go, but I'm posting this from my phone, so it will have to be later.

Categories

Resources