change search return a pointer to the unmarshaled results, because it might be huge