read directly