merged read_cache.c and hbt.c