why do we need diag if we sum()?