merge week-end refactoring into styling branch