Currently we return a string here.. but I don't see any reason why we don't throw an exception? The same logic should also apply to `reoder`