add a util function