deep copies and changes required fields only