add context object instead of just plain type