update the code
fix some bugs
fix some bugs
simplify the code