add demo with example usage code