Build Genieric Dao layer and DaoFactory