refactoring : put all inits in ctor