adapt to scope