refactor class LexicalReordering
allow num of features to be specified as an argument, rather than need to be passed into constructor