@halton in the second one, if callback is not null, will return -1.