There is and always has been order matching, which is built into the smart contract that handles market orders. The confusion here is that price precision of orders is to 8 decimal places, however the UI shows prices rounded to 5 decimal places.
So if you see a sell order at, say, 0.00556, it may actually be a sell order at 0.00556123. To guarantee you will hit the order, it's best to place a buy just above the UI price, say at 0.00557, and then there will be no problem with the orders matching.