debugged general structure
initialisation