3 kinds of features