Yet another quality post. Original: https://scratch.mit.edu/projects/347753624/ (I re-coded everything from scratch ;p)