split project into library and demo module