HUGE COMMIT - app now works when wifi is connected. Offline caching still has bugs.