add some function