Complete chapter 12, added authentication using devise