change api again, better detect _id type