part1: https://scratch.mit.edu/projects/718906274/ part2: https://scratch.mit.edu/projects/719070464/