work on instantiation with scope inheritance