finished demo 1