initialization refactorised