implement stream reader