refactor feature_manager