refactor codes. modify models
merge origin