cp: many improvements