added demonstration code