incorporating some of @timothydmorton's comments