next attempt to refactor features2d: the beginning