refactoring of the features finished