add ultility func