refactor execution context: create program execution context