# In Conditional Random Fields, is mandatory to use features related to following and preceeding tokens?

I am training a CRF classifier to classify document rows as a heading (1st level), heading (2nd level) or simple text.

I am using Conditional Random Fields for their ability to account sequential aspects.

Reading some tutorials, I noticed that usually, among the features, there are some features related to the preceeding or following token.

[...]
if i > 0:
word1 = sent[i-1][0]
postag1 = sent[i-1][1]
features.update({
'-1:word.lower()': word1.lower(),
'-1:word.istitle()': word1.istitle(),
'-1:word.isupper()': word1.isupper(),
'-1:postag': postag1,
'-1:postag[:2]': postag1[:2],
})
else:
features['BOS'] = True
[...]


I wonder if the sequential aspect is learned from these features or is connate in CRF. In other words, do we need these features related to other tokens?