updated based on Donato's feedback