added 'raw read' function (not complete)