preserve surrounding self