please dont register and initialise variables directly in the constructors but rather introduce a private method register_parameters, or init for this. It is easily forgotten otherwise if new constructors are added