Added json backend + tests (need to test more)