if empty result, return -1