implement more of Database