anchor.diff:  class _DiningState extends State<DiningCard> {
     final DiningService _diningService = DiningService();
     Future<List<DiningModel>> _data;
  +  final LocationService _locationService = LocationService();
   
     initState() {
       super.initState();
       _updateData();
     }
   
  -  _updateData() {
  +  populateDistances(Coordinates userLocation) {
  +    _data.then((listOfDiningHalls) {
  +      for (DiningModel model in listOfDiningHalls) {
  +        if (model.coordinates != null) {
  +          model.distance = calculateDistance(userLocation.lat, userLocation.lon,
  +                  model.coordinates.lat, model.coordinates.lon) *
  +              0.00062137;
  +        }
  +      }
  +    });
  +  }
  +
  +  _updateData() async {
       if (!_diningService.isLoading) {
         setState(() {
           _data = _diningService.fetchData();
  
positive.code:     return FutureBuilder<List<DiningModel>>(
        future: _data,
        builder: (context, snapshot) {
          return CardContainer(
            /// TODO: need to hook up hidden to state using provider
            hidden: false,
            reload: () => _updateData(),
            isLoading: _diningService.isLoading,
            title: buildTitle("Dining"),
            errorText: _diningService.error,
            child: buildNewsCard(snapshot),
            actionButtons: buildActionButtons(snapshot.data),
          );
        },
      );
    }
  
negative.code:     }
    }
  
    num calculateDistance(double lat1, double lon1, double lat2, double lon2) {
      var p = 0.017453292519943295;
      var c = cos;
      var a = 0.5 -
          c((lat2 - lat1) * p) / 2 +
          c(lat1 * p) * c(lat2 * p) * (1 - c((lon2 - lon1) * p)) / 2;
      return 12742 * asin(sqrt(a));
    }
  
    Widget buildDiningCard(AsyncSnapshot snapshot) {
      if (snapshot.hasData) {
        return DiningList(
          data: snapshot.data,
  