to diagonal or not to diagonal