Isolate book generation to its own script; move the books up a level