add type demo
init assignment 3
finish first version of assignment 3
fix performance problem