And seems this function only return `-1` or `0`. I prefer redefine it as return `bool`