incorporate @certik suggestions