Initialisation works, and is refactored and a bit tested