refining signin and signout