first pass of #118