Extremely complicated, and no help comments inside. Use only if you understand what you are doing. OUTDATED https://scratch.mit.edu/projects/1142082949