Add devise authentication and pass initial tests