switch to GetContext in functors