part 1: https://scratch.mit.edu/projects/236454609/ part 3: https://scratch.mit.edu/projects/240971695/