add some assist function