adds initialisation logic