change the context instead of restore