should use a transaction here to make sure the count/find match.