adaptive is much faster than non