refactor user object.