See an updated version of this post here.