dao must be private to force initialization via getter method