improved copying mapping