How to handle function name hallucinations, function call chaining and more accurate function call arguments