change private db to protected, all can override _db connection