added basic read ahead code -- not done