working on C backend, still need flattening
each backend gets own config