getting a working demo, need to fix test and clean up/polish.