part 1: https://scratch.mit.edu/projects/406695576/ part 2: https://scratch.mit.edu/projects/406715769/ part 4 is in progress