Block decomposition