Split the HUGE generate method into different methods.
Merge pull request #140 from ronanquillevere/Refactor-Generate-Method

Split the HUGE generate method into different methods.