A basic working version.