handle overrides separately since nsdictionary doesnt do keypaths