modify valueOf