better read detection