finished demo-4