(This is the finished version, felt like I could have done way better, will revise in the future. It's amateurish)