Not to discourage other answers, but I answered a similar question here a week or so ago and you might find that helpful.