sign in/out implementation and specs