a working version now.