add demo and lib