Reworked code to allow better intergration of other info providers.  Initial prep for xem mapping
partially implemented xem info provider (wip)