finished the feature transisiton logic