suggestions from Beau Simensen