better infer and som doc