copy everthing need