Based on the tutorial by Quill18: https://www.youtube.com/playlist?list=PLbghT7MmckI4qGA0Wm_TZS8LVrqS47I9R&spfreload=10