implemented (no tests / repl tested) backend datalayer