read write exception not good enough