v2: https://scratch.mit.edu/projects/638757909
you can use this as a base if you want (with credit) all code belongs to me