reorganized source code to better welcome changes later !
Also apply last source code re-organization here