* should persist the offset somewhere (currently thinking alternatives)