divide signin logic