Refactor out generic mbr

well, for two level access it is more tricky, but it is possible with `fetch` so I will rewrite it