updated, made better for the ny-scala talk