We have a thread like that already and it can be found here.