arbitrarily deep MGGroups highlighted with progressBars; timing sketchy; dirty under the hood; fine for proof of concept