add Demo.java for demonstration