add offline mode