builds a whole bunch of models and views