sign in semi functional