add authentication, sing in and sign out feature, fixed some specs