Overhaul to match new patterns