add class and demo project