refactored the demo project out of lazyjam