moving more over to the abstracted database layer