not handle read after every call. fixed #4