storage layer, no tests yet :(