refactoring initialisers