progress on goto; I think it's working for the most part