incorporating suggestions from keyist