Added Prototype pattern.