if you're going to support sparse objects, it seems like this part is unnecessary