made some changes to the map client so that it's more modular. hasn't been tested.