step 2. views and templates