added soft descriptor support