App now caches data using localStorage