changing database abstraction stuff (weird)