add some functin