technically we just need to traverse it … (and I agree with the over-engineered comment)