tutorial part 4; more templates and generic views