refactoring the entire generator prototype declaration, and basing both gh-pages and default generators off that. adding tests for both