add some function
modify some code