This is thorough and good.