Followed hartl's user authentication chapter