May I suggest you follow the basic advise of this forum and do a search.
There are many threads which deal with this subject in all kinds of depths and with all kinds of tangents !
PS Quote :- heads up! just a quick one here.
This subject rarely get a quick, to the point answer !!