let's pass runtime context as an extension constructor parameter instead