Fixed readRecord to account for the existence of forward pointers - it now walks the chain as needed