refactor target away from context, since target changes more often than context