Switch to prototype for efficiency