login op
refactor&login check