finish demo, add interface and controller