Project 4. Kinda works. Check the video for explanation.