sigh - there has to be a better way