Done part 3 of the tutorial
Done half of part 4
Using generic views, done part 4