initial read with offset and size support