27refactor user manager