now you can switch username
diff --git a/authorization.go b/authorization.go
index af3cc76..3e99d41 100644
--- a/authorization.go
+++ b/authorization.go
@@ -42,19 +42,21 @@
 		Response:  "",
 		Uri:       "",
 		Userhash:  dr.Wa.Userhash,
-		Username:  dr.Username,
+		Username:  "",
 		Username_: "", // TODO
 	}
 
-	if ah.Userhash {
-		ah.Username = ah.hash(fmt.Sprintf("%s:%s", ah.Username, ah.Realm))
-	}
-
 	return ah.refreshAuthorization(dr)
 }
 
 func (ah *authorization) refreshAuthorization(dr *DigestRequest) (*authorization, error) {
 
+	ah.Username = dr.Username
+
+	if ah.Userhash {
+		ah.Username = ah.hash(fmt.Sprintf("%s:%s", ah.Username, ah.Realm))
+	}
+
 	ah.Nc++
 
 	ah.Cnonce = ah.hash(fmt.Sprintf("%d:%s:my_value", time.Now().UnixNano(), dr.Username))