moved execution contexts into new file