um we already have a thread that contains all of this.. lol