adding scott murray's code examples from Interactive Data Viz