add initial offline support