internal copy