encapsulate initialiser details