added devise finally, a lot of it is done if you carefully follow instructions