multipart reader