synchronizing all transactions so we don't get transaction collisions
first pass at search