implemented most of MarketPlace.  #1.

still need to add serialization/deserialization