There's already a topic basically the same as this here.