copy and move improvements