add context global, but there is some issue about value dispose, temporary implementation