tweaks to middleware loading, wip on backends model, better organization of tests