Finished the demo. Still needs refactoring and front end polish.