really always take root of the substorage