updated per @JulianLeviston review