I think this is a good framework.