initial offline version