add context protection