Add experimental offline mode support - closes issue #121