add new adaptive