add model layer dao and factory