add some useful func