optimize compatibility