added demo with detailed print statements