Improving factual accuracy in large language models