- better reading algo