these keys are always guaranteed to exist in `data`?