Initial work to split the generate method into individual methods for each section.