adjust calculation method
finish data binding
fix some bugs
finish code