only use external id for database operations