completed part 7 - models and templates