allow result to be a empty object