add signin and logout logic