Large Language Models For Code Generation