new method for reading from streams but needs to be improved