redid the whole abstraction

now interacts more directly with the eventual database layer