= cp only when necessary