toying with rewriting some of the analysis