update, add select API