Update to work with swirl limits branch + Split in 3 sections