Add upstream remotes and use recursive-open-struct