added dao factory