Add Demo, code cleanup