read all data recursively