Updated with blockdiag set