add database abstraction for future support of several dbms