add demo, clean tests