Large Language Models such as ChatGPT have been very helpful in natural text generation, such as draft and polish technical writing. Meanwhile, their ability to generate code has also been observed. However, the generated code samples have not always been executable, nor necessarily perform the correct function being asked. This project aims to develop a systematic way to guide LLMs to produce executable and functionally correct code.