added caching , standardize the format returned for all exchanges