Refactoring/disentangle initialization

More disentanglement of initialisation, plus documentation.