Added Revealing Prototype Pattern