Boy this goto stuff is tricky