a database abstraction layer