more work on @jrrideout's comments