locals, not ivars