...from scratch. :)
I actually started making one yesterday (or maybe the day before that, I'm not sure) anyway, it's actually easier than I thought it would be but still complicated enough to give me a headache.
So fire away with any advice you have! :D