refactor part 3: donation controller and views