add reasoning api