Introduce the pattern name and swap driver-pattern order in a logical way

Driver was defined after it was used so I just swap them.
Generator template was too long, so I introduce the pattern word