blog
refactoring login system