Updated with live demo link at visualizing.org