Do we need sparse support? Can we not simplify this code?