This work addresses each of the three aforementioned problems and offers solutions. First, to reduce hallucinations, we advocate for the use of calls to intermediate libraries and APIs wherever possible . Deterministic, well-tested code can execute tasks correctly at a much higher rate than LLMs. The rationale for this approach is that it simplifies the problem from training an LLM to perform a complex task correctly to merely interpreting the users desired input and formatting it correctly for the program. This method has the simultaneous advantage of being easier to verify as correct (ensuring the inputs are as desired) than scrutinizing the output of a complex generation task performed entirely by the LLM.