Lots of discussions about that here. Try using the search, but in the mean time here are two discussions you might find useful: