source structure changed, clean-up, ready to port radix-tree to read cache, and other features