incorporate feedback from @kelvinst