this looks wrong to me. It seems to be it can return a string too