Very good discussion in this post.