Add Prototype pattern
update