why don't we just not create the head string until we have to?