a demo, finished almost