offline framework explanation