adding prototype pattern demo