finished working demo