Fleshed out functions for initialisation. Most things should be initialised with reasonable values.