basic implementation of non-hierarchical sparse features
bidirectional case
precalculation of feature names