modified BaseDAO