shuffling fns, adding controller generator and template generator stub