update some code ...
fix some bug