Substantial changes to create the fastRead method