don't unnecessarily add NULL to keys or values