added shared context stuffs