shouldn't this be followed by `ret = ret.real`?