Make submodule matching more robust
Start to unify repo backends