ignore key when value doesn't exist and add comment support