Feature c/enhance normalisation
Make normalization clearer and more useable, a nice improvement by @aurelBZH Moreover this corrects several bugs related to normalization.
Close #2680 (closed), #2668 (closed), #2670 (closed), #2669 (closed), #2565 (closed), #2568 (closed), #2681 (closed). See #2307.