thanks everyone, these are great solutions
I agree with XLD, I'm not a fan of circular references