completely support layout, empty section will be empty string, order is not necessary