return updated prefix, not none