user manager reimplement
namespace refacro
refactor