handles multiple sections