mini database abstraction layer effort