Initial implementation of matching engine.  Code compiles successfully but I have not done any testing yet so it probably does not work