sparse array support