streaming
take an offset as a parameter
format