init project with code from ty.
merge ty's code to master branch, there exist some confilct.