added model and provider classes for offline mode