rewrote the storage to be a little more modular, still needs to support locks, working on more tests.