add reasoning