added util.func.