add optimal method