reordered the structure