internal 3, up to publishing