add context decorator