separated funcContext from pkgContext