built out basic views and more complex interactions between models