add abstract GenericDao to implement Dao interface